/ / BeautifulSoup Scraping: Ich bin verwirrt - Python, beautifulsoup

BeautifulSoup Scraping: Ich bin verwirrt - Python, beautifulsoup

Ich versuche zu kratzen Diese Seite, und ich möchte alle Anker-Tags überprüfen.

Ich habe beautifulsoup 4.3.2 importiert und hier ist mein Code:

url = """http://www.civicinfo.bc.ca/bids?pn=1"""
Html = urlopen(url).read()
Soup = BeautifulSoup(Html, "html.parser")
Content = Soup.find_all("a")

Mein Problem ist, dass Inhalt immer leer ist (d. H. Content = []). Hat jemand irgendwelche Ideen?

Antworten:

2 für die Antwort № 1

Von die Dokumentation html.parser ist vor bestimmten Versionen von Python nicht sehr nachsichtig. Sie sehen sich also wahrscheinlich falsch formatiertes HTML an.

Was Sie tun möchten, funktioniert, wenn Sie verwenden lxml Anstatt von html.parser

Von die Dokumentation:

Trotzdem gibt es Dinge, die Sie tun können, um zu beschleunigenup Schöne Suppe. Ob Wenn Sie nicht lxml als zugrunde liegenden Parser verwenden, ist mein Ratschlag, zu beginnen. Beautiful Soup analysiert Dokumente mit lxml bedeutend schneller als mit html.parser oder html5lib.

Der relevante Code wäre also:

Soup = BeautifulSoup(Html, "lxml")