Webseiten parsen mit LXML
Verfasst: Mittwoch 21. September 2011, 12:41
Hi,
ich habe einen Crawler in PHP und würde diesen gerne jetzt in Python umwandeln. Als Libery habe ich mich für XML entschieden, da es ja relativ schnell sein soll. In PHP sieht mein Code so aus:
In Python bin ich bisschen so weit:
Leider scheine ich hier ( if serie.xpath("//a[1]")[0].text_content() != "": ) schon etwas falsch falsch zu machen.
Hat einer von euch eine Idee wie ich das richtig machen muss? Gibt es vllt. ein gutes Tutorial dazu?(hab ich schon auf der Entwicklerseite geguckt + gegoogelt aber nichts gefunden was wirklich in meine Richtung geht)
Danke schonmal für eure Hilfe
ich habe einen Crawler in PHP und würde diesen gerne jetzt in Python umwandeln. Als Libery habe ich mich für XML entschieden, da es ja relativ schnell sein soll. In PHP sieht mein Code so aus:
Code: Alles auswählen
$html = file_get_html("http://animexx.onlinewelten.com/aidb/aod_episoden.php");
$part = $html->find('div#animexx_bodycontent',0)->find('table',2);
foreach($part->find('tr') as $article) {
if(!empty($article->find('a',1)->plaintext)) {
$name = $article->find('a',1)->plaintext;
$url = "http://animexx.onlinewelten.com/aidb/".$article->find('a',1)->href;
// Daten weiterverarbeiten
}
}
Code: Alles auswählen
from urllib.request import urlopen
import lxml.html as lh
page = urlopen('http://animexx.onlinewelten.com/aidb/aod_episoden.php')
p = lh.parse(page).getroot()
for serie in p.xpath(".//div[@id='animexx_bodycontent']//table[2]//tr"):
if serie.xpath("//a[1]")[0].text_content() != "":
#print("Name: "+serie.text_content())
#print("URL: "+serie.get('href'))
print("Irgendwas")
Hat einer von euch eine Idee wie ich das richtig machen muss? Gibt es vllt. ein gutes Tutorial dazu?(hab ich schon auf der Entwicklerseite geguckt + gegoogelt aber nichts gefunden was wirklich in meine Richtung geht)
Danke schonmal für eure Hilfe