hello
SVP
je suis coincé je cherche une façon d'extraire idp , page
merci a vous
Code:def getinfolink(self, idp, page):
Version imprimable
hello
SVP
je suis coincé je cherche une façon d'extraire idp , page
merci a vous
Code:def getinfolink(self, idp, page):
Salut,
Afin de récupérer les valeurs de plusieurs variables à l'intérieure d'une fonction il faut utiliser return comme ceci :
Code:
1
2
3
4
5
6 def getinfolink(self, idp, page): ..... ..... return idp,page
salut
j'ai un problème avec cette fonction car elle met beaucoup de temps pour afficher la liste
merci a vousCode:
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)
:salut:
Tu peux encore découper ta grosse fonction en plus petites... trop d'instructions à gerer... :lol: (C'etait juste un conseil... pas la solution au problème )
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.
Mais, il y a un exemple sur la doc:
https://docs.python.org/3/library/ht...ght=htmlparser
Si il te faut quelque chose de plus élaboré:
http://bazaar.launchpad.net/~vincent...artetv.py#L726
salut
j'aimerai bien connaitre comment convertir str en int
comment covertir self.name en int
if int(self.name) == 1:
j'ai eu un crash avecCode:if int(self.name) == 1:
merci a vousCitation:
invalid literal for int() with base 10: ''
problème résolu