2010-12-01 14 views
1

Ich habe eine Webseite in HTML mit diesen Elementen:Wie Sie diese Elemente von einer Webseite abrufen können?

<div class="content_page"> 
    <a href="/earth" class="nametessera" >earth</a> 
</div> 
<div class="content_page"> 
    <a href="/world" class="nametessera" >world</a> 
</div> 
<div class="content_page"> 
    <a href="/planet" class="nametessera">planet</a> 
</div> 
... 

Ich brauche/Erde zurückzuholen,/Welt/Planeten usw. so brauche ich alle Links von Tag A mit Klasse "nametessera" abrufen .

Wie kann ich das mit Python tun?

Antwort

3

Kurze Antwort:

Verwenden beautifulSoup die Seite zu analysieren, die URLs und dann verwenden urlib2 oder pycurl die genannten URLs zum Download bereit.

[Edit:]

auf die Beispiele Hinzufügen auf unten, sondern nur in den div enthielt die die href verwenden

>>> alldiv = soup.findAll('div', { "class" : "content_page" }) 
>>> for div in alldiv: print div.a 
... 
<a href="/earth" class="nametessera">earth</a> 
<a href="/world" class="nametessera">world</a> 
<a href="/planet" class="nametessera">planet</a> 
>>> for div in alldiv: print div.a['href'] 
... 
/earth 
/world 
/plan 

Ähnlich auch

tun konnte
allHref = soup.findAll('a', { "class" : "nametessera" }) 
+0

Eigentlich ist soup.findAll ('div', {"class": "content_page"}) äquivalent zu soup.findAll ("div", "content_page") – zifot

+0

@ zifot: Ja. Vielen Dank. Meine Gewohnheit, dies als Diktat zu übergehen, macht es umständlich. :) – pyfunc

Verwandte Themen