Dieses Mal werde ich schöne Suppe verwenden. python 3.6.0 BeautifulSoup 4.6.0
Klicken Sie hier für das Dokument Englisch http://www.crummy.com/software/BeautifulSoup/bs4/doc/
japanisch http://kondou.com/BS4/
$ pip install beautifulsoup4
Es ist ein Programm, das die Daten dieser Seite abruft und den Inhalt des h1-Tags anzeigt. https://pythonscraping.com/pages/page1.html
from urllib.request import urlopen
from bs4 import BeautifulSoup
html=urlopen("https://pythonscraping.com/pages/page1.html")
bsobj=BeautifulSoup(html.read())
print(bsobj.h1)
Wenn nichts unternommen wird, wird die Webseite nicht gefunden, oder der Scraper gibt einen Fehler in einem unerwarteten Datenformat aus. Sie sollten daher die Ausnahmebehandlung schreiben.
html=urlopen("https://pythonscraping.com/pages/page1.html")
Diese Zeile führt zu einem Fehler, wenn die Seite nicht gefunden werden kann Schreiben Sie es also wie folgt um.
try:
html=urlopen("https://pythonscraping.com/pages/page1.html")
except:
print("Die Seite kann nicht gefunden werden")
Diese Zeile kann auch einen Fehler verursachen
bsobj=BeautifulSoup(html.read())
Ich habe es so umgeschrieben.
try:
bsobj=BeautifulSoup(html.read())
print(bsobj.h1)
except:
print("error")
Sie können das gewünschte Tag mit find () und findAll () finden.
Der folgende Code zeigt den Text in `<span class =" green "> </ span>`
an
span_list = bsobj.findAll("span",{"class":"green"})
Wenn Sie nicht nur class = "green", sondern auch class = "red" anzeigen möchten, schreiben Sie wie folgt um.
span_list = bsobj.findAll("span",{"class":{"red","green"}})
span_list = bsobj.findAll("span",{"class":"green"})
for i in span_list:
print(i)
Dieser Code zeigt den Text `<span class =" green "> </ span>`
an, aber die Tags werden auch angezeigt.
Wenn Sie nur den Text darin haben möchten, müssen Sie ihn wie folgt umschreiben
#Tags zusammen anzeigen
print(i)
#Anzeige ohne Tags
print(i.get_text)
Recommended Posts