Es ist nah an meinem eigenen Memo, aber ich habe es versucht, also habe ich einen Artikel geschrieben. Ursprünglich habe ich viel recherchiert, um Raspet Pie Signage zu machen. Ich hatte nicht genau die Informationen, die ich wollte, also untersuchte ich nur die Schabemethode und schaffte es selbst. (Ich war kein Python-Benutzer oder eine Person im Webbereich, also hatte ich einen Moment lang Probleme ...) Yahoo hat eine Wetter-API, aber ich habe sie nicht verwendet, weil ich nur die Niederschlagsmenge kenne.
C # Edition https://qiita.com/MonoShobel/items/3ae0c051d2aadba698a4 Es gibt.
Es gibt gute und schlechte Erklärungen zum Schaben selbst, deshalb sollten Sie es lesen.
Übrigens ist es Yahoo-Wetter, aber vielleicht ist das Schaben nicht verboten. Yahoo Finance wurde ausdrücklich verboten, aber ich konnte keine Erwähnung des Wetterverbots finden. Halten Sie einfach die Mäßigung. Selbst wenn Sie regelmäßig kratzen, denke ich, dass der Zugang jede Stunde oder 30 Minuten für das Wetter ausreicht.
tenki.py
import urllib3
from bs4 import BeautifulSoup
#URL für den Zugriff
url = 'https://weather.yahoo.co.jp/weather/jp/13/4410.html'
#Zugriffs-URL Der Rückgabewert ist eine Instanz, die das Ergebnis von Zugriff und HTML enthält.
http = urllib3.PoolManager()
instance = http.request('GET', url)
#Extrahieren Sie HTML aus der Instanz und analysieren Sie es für die Verwendung mit Beautiful Soup
soup = BeautifulSoup(instance.data, 'html.parser')
#Holen Sie sich den Wettertext mit der CSS-Auswahl.
#das heutige Wetter
tenki_today = soup.select_one('#main > div.forecastCity > table > tr > td > div > p.pict')
print ("Wie ist das Wetter heute"+tenki_today.text)
#Das Wetter von morgen
tenki_tomorrow = soup.select_one('#main > div.forecastCity > table > tr > td + td > div > p.pict')
print ("Das Wetter von morgen"+tenki_tomorrow.text)
#Warten Sie auf die Eingabe, damit der Bildschirm nicht sofort verschwindet
input()
Unten das Ausführungsergebnis
Recommended Posts