Ich versuche, die Ergebnisliste von http://mobile.de analysieren.HTML-Parsing mit BeautifulSoup 4 und Python
Zuerst habe ich es mit der HTMLParser
Klasse versucht, aber ich habe einen Fehler: HTMLParser.HTMLParseError: EOF in middle of construct
.
Also habe ich es mit BeautifulSoup 4 versucht, die für nicht gültige Websites besser ist, aber die <div>
Ich suche nicht zugänglich ist, und ich kann nicht sagen, ob es meine Schuld oder die Website ist.
from bs4 import BeautifulSoup
import urllib
import socket
searchurl = "http://suchen.mobile.de/auto/search.html?scopeId=C&isSearchRequest=true&sortOption.sortBy=price.consumerGrossEuro"
f = urllib.urlopen(searchurl)
html = f.read()
soup = BeautifulSoup(html)
for link in soup.find_all("div","listEntry "):
print link
listEntry
ist die <div>
mit dem Ergebnis der Autos. Aber es scheint, dass er nicht analysiert <form id="parkAndCompareVehicle" name="parkAndCompareVehicle" action="">
. Ich kann das Formular im Suppenobjekt nicht finden.
Wo ist der Fehler?
Was bekommen Sie, wenn Sie die folgende for-Schleife stattdessen versuchen? - 'für den Link in soup.find_all (" form ", id =" parkAndCompareVehicle ")'? (Siehe http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#The%20basic%20find%20method:%20findAll(name,%20attrs,%20recursive,%20text,%20limit,%20*) * kwargs)) –
Ich bekomme nichts. Ich habe es auch mit find_all ("form") versucht und ich bekomme nur die 2 anderen. – user1010775
hmm 'supp.find_all ('form', id = 'parkAndCompareVehicle')' gibt das Formular für mich zurück – gorlum0