Das HTML von Websites im Internet enthält verschiedene Informationen, und es ist schwierig, diese selbst zu analysieren. Daher verwenden wir eine Bibliothek namens Requests, die HTML erhält.
Dieses Mal lernen wir, wie Sie Anfragen verwenden, indem wir die Überschriften von Artikeln in der Inlandsspalte von MSN Japan abrufen.
In [1] Schöne Suppe importieren, Anfragen und Re
In[1]
from bs4 import BeautifulSoup
import requests
import Re
In [2] Speichern Sie HTML-Informationen in der Variablen urlshutoku
In[2]
urlshutoku = requests.get("https://www.msn.com/ja-jp")
Versuchen Sie in [3], die gesamte Seite anzuzeigen
In[3]
urlshutoku.text
Wenn In [3] angezeigt wird, werden unnötige Informationen stärker wahrgenommen, sodass diesmal nur die Überschrift angezeigt wird, die die erforderlichen Informationen enthält. Zu diesem Zweck müssen die Überschrifteninformationen eingeholt werden. Hier kommen die Entwicklertools von Google Chrome ins Spiel.
Klicken Sie zunächst mit der rechten Maustaste auf die Überschrift und klicken Sie auf Validieren (I). Dann wird der folgende Bildschirm angezeigt.
Die zum Scraping verwendeten Informationen sind nur alphanumerische Informationen auf der linken Seite des obigen Bildschirms. Stellen Sie sicher, dass die Überschrift oben in dem Teil, in dem Sie zuvor auf Überprüfen geklickt haben, blau ist. Überprüfen Sie als Nächstes \ , das der URL der Artikelüberschrift entspricht. Andere Überschriften sind die gleichen, daher scheint \ ein Hinweis zu sein.
In [4] Analysiert mit Beautiful Soup und html.parser
In[4]
soup = BeautifulSoup(urlshutoku.text,"html.parser")
Extrahieren Sie inländische Überschriften mit In [5] find_all
In[5]
midashi = soup.find_all(href=re.compile("/ja-jp/news/national"))
Wenn Sie Midashi auf dem Jupyter-Notizbuch eingeben, werden die Überschrifteninformationen angezeigt, aber auch die URL-Informationen. Da es schwer zu sehen ist, können nur Zeichen angezeigt werden.
Zeigen Sie nur Zeichen mit In [6] für Anweisung und Zeichenfolge an
In[6]
for ichiran in midashi:
print(ichiran.string)
Jetzt werden nur die Überschriften angezeigt.
Recommended Posts