2010-07-15 5 views
2

J'utilise cette méthodehref de Attribute Extraction avec BeatifulSoup

allcity = dom.body.findAll(attrs={'id' : re.compile("\d{1,2}")}) 

pour retourner une liste comme ceci:

[<a onmousedown="return c({'fm':'as','F':'77B717EA','F1':'9D73F1E4','F2':'4CA6DE6B','F3':'54E5243F','T':'1279189248','title':this.innerHTML,'url':this.href,'p1':1,'y':'B2D76EFF'})" href="http://www.ylyd.com/showurl.asp?id=6182" target="_blank"><font size="3">掳虏驴碌路驴碌脴虏煤脨脜脧垄脥酶 隆煤 脢脦脝路脦露脕卢陆脫</font></a>, 
<a href="http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f728629c86027fa3c215cc791a1b1a23a4fb7935107380843e7000db120afdf14076340920a3de95c81cd2ace52f38fb5023716c914b19c46ea8dc4755d650e34d99aa0ee6cae74596b9a1d6c85523dd58716df7f49c5b7003c065e76445&amp;p=8b2a9403c0934eaf5abfc8385864&amp;user=baidu" target="_blank" class="m">掳脵露脠驴矛脮脮</a>] 

Comment puis-je extraire ce href?

http://www.ylyd.com/showurl.asp?id=6182 

Merci. :)

+0

Votre question semble brisée. Je pense que «un href =" ##### "/ a" 'était censé ressembler à quelque chose comme" ", mais je ne suis pas sûr. Utilisez également quatre espaces de retrait pour représenter le code. –

+0

Merci, mais Stackoverflow ne peut pas écrire le code HTML –

+0

Votre appel à findAll a retourné deux résultats - deux balises d'ancrage. Vous avez demandé d'extraire l'un des attributs href de ces balises. Pourquoi le premier et non le second? (Quel filtrage vouliez-vous?) – Oddthinking

Répondre

0

vous pouvez utiliser

for a in dom.body.findAll(attrs={'id' : re.compile("\d{1,2}")}, href=True): 
    a['href']