2010-07-17 8 views
0

J'utilise BeautifulSoup pour analyser du HTML. Voici le contenu:Un href attraper

<tr> 
<th>Your provider:</th> 
<td> 

<img src="/isp_logos/la-la-la.ico" alt=""/> 
<a href="/isp/SomeProvider"> 
Provider name </a> 
&nbsp; 
<a href="http://*/isp-comparer/?isp=000000"> 
</a> 
</td> 
</tr> 

Je dois obtenir SomeProvider texte du lien. Mon code est:

contentSoup = BeautifulSoup(ThatHtml) 
print contentSoup.findAll('a', href=re.compile('/isp/(.*)')) 

Le résultat est tableau vide, pourquoi? Peut-être qu'il existe d'autres moyens?

Répondre

0

Avec votre code affiché et entrée, je reçois:

[<a href="/isp/SomeProvider"> Provider name </a>] 

Comme le retour du tableau. Utilisez-vous la dernière version 3.1.x de BeautifulSoup? J'ai effectivement eu le même problème, mais il s'avère que j'ai téléchargé la version 2.x de BeautifulSoup en pensant que le 2.x signifiait qu'il était compatible avec python 2.x.

En supposant que le premier contient le SomeProvider, vous pouvez simplement utiliser:

contentSoup.a 

pour extraire cette balise.