IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

probleme avec enigma2 [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Par défaut probleme avec enigma2
    hello
    SVP
    je suis coincé je cherche une façon d'extraire idp , page
    merci a vous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    def getinfolink(self, idp, page):

  2. #2
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Salut,

    Afin de récupérer les valeurs de plusieurs variables à l'intérieure d'une fonction il faut utiliser return comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def getinfolink(self, idp, page):
    .....
    .....
     
    return idp,page

  3. #3
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Par défaut
    Citation Envoyé par nekcorp Voir le message
    Salut,

    Afin de récupérer les valeurs de plusieurs variables à l'intérieure d'une fonction il faut utiliser return comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    def getinfolink(self, idp, page):
    .....
    .....
     
    return idp,page
    merci mon ami pour votre aide

  4. #4
    Membre actif
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 16
    Par défaut @nekcorp
    salut
    j'ai un problème avec cette fonction car elle met beaucoup de temps pour afficher la liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    def videolink(self, url):
     
            self.menulist = []
            request = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.',
                 'Connection': 'Close'})
            data = urllib2.urlopen(request).read()
            startp = data.find('<div id="port0" onMouseOver="javascript:cambiard')
            endp = data.find('var h = jQuery.noConflict')
            zone = data[startp:endp]
            platz = re.findall('<div id="gggg">\n<a id="rut.*?" href="(.*?)">', zone)
            # print platz
            for lien in platz:
                title = lien.replace("./?match=","").replace('_',' ')
                url = link + lien.replace('./','/').replace('[','').replace(']','').replace("'","")+'_lgfr_'
                # farid = lien.replace("./?match=","").replace('_',' ')
                urlvid = urllib2.Request(url, None, {'User-agent': 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.0.15) Gecko/2009102815 Ubuntu/9.04 (jaunty) Firefox/3.',
                 'Connection': 'Close'})
                data = urllib2.urlopen(urlvid).read()
                aime = re.findall('<div id="videoz">\n<div name=.*?>\n<iframe src="(.*?)"', data)
                # print aime
                for vidlink in aime:
                    video_LINK = vidlink
                    self.menulist.append(StreamListEntry(title, video_LINK, '0', '00.'))
                self['menulist'].l.setItemHeight(36)
                self['menulist'].l.setList(self.menulist)
    merci a vous

  5. #5
    Membre expérimenté Avatar de cervo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 220
    Par défaut

    Tu peux encore découper ta grosse fonction en plus petites... trop d'instructions à gerer... (C'etait juste un conseil... pas la solution au problème )

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Qu'est-ce que tu appelles beaucoup de temps ? Ton code charge une page, avec une regex extrait une série de liens puis ensuite charge toutes ces nouvelles pages et les parcourt à nouveau avec une regex.

    Le temps que cela prend est fonction de la taille de la première page, du nombre de pages suivantes à charger et du serveur (ex: sur le site de arte TV Guide je charge et parse 13 pages parfois en 2,5 secondes et certaines fois en 12 secondes).

    Un conseil, utilise plutôt le module HTMLParser qui est beaucoup plus rapide que les regex. Et plus sûr aussi, les regex sont considérées comme pratique non fiable avec les pages html.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par aime_jeux Voir le message
    j'ai un problème avec cette fonction car elle met beaucoup de temps pour afficher la liste
    Si on suppose que çà attend les réponses aux différentes requêtes HTTP, une solution serait de passer par des threads.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo