Próbuję przeanalizować listę wyników http://mobile.de.Parsowanie HTML za pomocą BeautifulSoup 4 i Python
Najpierw próbowałem go z klasą HTMLParser
, ale otrzymałem komunikat o błędzie: HTMLParser.HTMLParseError: EOF in middle of construct
.
Wypróbowałem to z BeautifulSoup 4, który jest lepszy dla nieważnych stron internetowych, ale <div>
szukam jest niedostępny i nie mogę stwierdzić, czy to moja wina, czy strona internetowa.
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
jest <div>
z wynikiem samochodów. Ale wygląda na to, że nie parsuje <form id="parkAndCompareVehicle" name="parkAndCompareVehicle" action="">
. Nie mogę znaleźć formy w zupie.
Gdzie jest wina?
Co otrzymasz, jeśli spróbować następujących pętli zamiast? - 'dla łącza w zupie.find_all (" form ", id =" parkAndCompareVehicle ")'? (Zobacz http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#The%20basic%20find%20method:%20findAll(name,%20attrs,%20recursive,%20text,%20limit,%20* * kwargs)) –
Nic nie dostaję. Próbowałem również z find_all ("formularz") i mam tylko 2 inne. – user1010775
hmm 'zupa.find_all ('formularz', id = 'parkAndCompareVehicle')' zwraca formularz dla mnie – gorlum0