Bonjour à tous,
Je planche actuellement sur un petit script de détection de lien avec une structure bien définie dans une page HTML, j'utilise pour cela les expressions régulières de Python (regex). Je peux récupérer ainsi la partie qui se trouve dans le href de chaque lien pour n'obtenir que ce qui m'intéresse (l'url de la page)
Le seul problème que je rencontre c'est que je n'arrive pas à obtenir un maximum d'occurences trouvées dans mon échantillon. En gros j'ai l'impression qu'il est en mode "flemmard".
La variable navigpages qui est mon échantillon d'analyse n'est composé que d'une ligne.
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 def analyseLinks(text): # -------------------------- #Analyse des liens vers des pages # -------------------------- m = o.match(text) try: reslt = m.group(1) except: reslt = -1 return [ reslt ] # Moteur des détections o = re.compile(r'^.*(?:<a.* href=\'(\./pagenb:index[0-9]{1,4}-[0-9]{1,4})\'.*>(?:.{3,})</a>.{1,4}){1,}.*$') navigpages = "<font size='1'>Pages: </font><a href='./pagenb:index204-45'>précédente</a> - <a href='./pagenb:index204-0'><b>1</b></a> <a href='./pagenb:index204-5'><b>2</b></a> <a href='./pagenb:index204-10'><b>3</b></a> <a href='./pagenb:index204-15'><b>4</b></a> <a href='./pagenb:index204-20'><b>5</b></a> <a href='./pagenb:index204-25'><b>6</b></a> <a href='./pagenb:index204-30'><b>7</b></a> <a href='./pagenb:index204-35'><b>8</b></a> <a href='./pagenb:index204-40'><b>9</b></a> <a href='./pagenb:index204-45'><b>10</b></a> <font size='1' face='verdana' color='red'><b>11</b></font> <a href='./pagenb:index204-55'><b>12</b></a> - <a href='./pagenb:index204-55'>suivante</a>" analyseLR = analyseLinks(navigpages) print "result2: %s" % (analyseLR)
Il ne me trouve qu'une seule occurence alors qu'il y en a au moins une dizaine, comment faire alors pour qu'il les trouvent toutes ? Je ne sais pas comment m'y prendre,
merci d'avance !
Jamesb.
Partager