[PYTHON] Lassen Sie uns über das Wetter in Ihrer Lieblingsgegend von Yahoo Wetter auf LINE informiert werden!

Entwicklungsgeschichte

"Kommunikationsbeschränkungen", denen jeder in der heutigen Zeit begegnen sollte Es ist schmerzhaft, dass Sie Ihr Smartphone unterwegs nicht frei benutzen können. ~~ Es geht nur darum, das monatliche Paketlimit zu erhöhen ~~

Trotzdem gibt es Zeiten, in denen ich das Wetter wissen möchte, auch wenn ich zur Arbeit oder zur Schule gehe. Es ist ein Problem, wenn Sie nicht sofort wissen, wann die Kommunikation eingeschränkt ist.

Wenn Sie den Text alleine sehen können, ist es ganz so ... Warum also nicht eine Nachricht von LINE senden? ??

Wenn ich also als letztes Ziel den ersten und den letzten Zug auf LINE sende, wünschte ich mir, ich könnte die Informationen, die ich wissen wollte, durch Antworten erhalten, also begann ich mit der Entwicklung.

Vielleicht kann Text schneller erstellt werden als das Betrachten der App ...

Holen Sie sich Yahoo Wetterinformationen

Sammeln Sie zunächst Informationen zu jeder Station! !!

Zuallererst werde ich Nachrichten auf LINE austauschen und ein System erstellen, um das Wetter jedes Gebiets als eine Praxis des Schabens zu benachrichtigen.

Lassen Sie uns vorerst mithilfe von Scraping Informationen über das Yahoo-Wetter abrufen.

import requests
from bs4 import BeautifulSoup

Verwenden Sie dazu Anforderungen, um die URL in Python zu öffnen. Importieren Sie dann bs4 aus BeautifulSoup, um nach dem Öffnen der URL Daten aus HTML oder XML zu extrahieren.

Als nächstes lautet Yahoo Wetter URL wie folgt. https://weather.yahoo.co.jp/weather/ Unter dieser URL können Sie das Wetter im ganzen Land auf einen Blick sehen und tiefer in das Gebiet eintauchen, das Sie kennenlernen möchten.

Holen Sie sich zunächst lokale URLs aus dem ganzen Land.

target_url= "https://weather.yahoo.co.jp/weather/"
res       = requests.get(target_url)
soup      = BeautifulSoup(res.text, 'lxml')
elems     = soup.find_all("a")

with open("yahooChiku.csv", "w", encoding="utf-8", newline ="") as ychiku:
    writer = csv.writer(ychiku)
    for e in elems:
        chikuNumList = []
        if re.search(r'<a data-ylk="', str(e)):
            if re.search(r'"//weather.yahoo.co.jp/weather/jp/\d.*/"', str(e)):
                row = re.search(r'"//weather.yahoo.co.jp/weather/jp/\d.*/"', str(e)).group().strip('"')
                row = "https:" + row
                chikuNumList.append(row)
                writer.writerow(chikuNumList)

Bitte überprüfen Sie verschiedene Möglichkeiten, um Beautiful Soup zu verwenden. Ich benutze es nur auf Ad-hoc-Basis, daher fehlt mir das Wissen ...

Was wir mit diesem Quellcode tun, ist der Prozess des Extrahierens der URL für jede Region aus dem Wetter im ganzen Land. Tags mit lokalen URLs können mit \ abgerufen werden. In diesem Tag sind jedoch andere Informationen enthalten. Verwenden Sie daher reguläre Ausdrücke, um nur diejenigen zu extrahieren, die die URL jeder Region enthalten. Da https nicht in den Tag-Informationen enthalten ist, fügen Sie am Anfang "https" hinzu, schreiben Sie es in csv und speichern Sie es.

Es wird vorerst lange dauern, also ist es das fürs Erste.

nächstes Mal

Nachdem ich die lokale URL erhalten habe, möchte ich einen Artikel darüber schreiben, wie die URL der Stadt, des Bezirks, der Stadt und des Dorfes, der Name jedes Gebiets und einfach eine Nachricht auf LINE gesendet werden.

  • Wenn es an Erklärungen oder Ergänzungen mangelt, zögern Sie bitte nicht, uns zu kontaktieren.

Bis zum nächsten Mal! !! !!

Recommended Posts

Lassen Sie uns über das Wetter in Ihrer Lieblingsgegend von Yahoo Wetter auf LINE informiert werden!
Lassen Sie uns über das Wetter in Ihrer Lieblingsgegend von Yahoo Wetter auf LINE informiert werden! ~ TEIL2 ~
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Holen Sie sich Informationen von der Meteorological Agency und benachrichtigen Sie Slack über Wetterwarnungen in den 23 Bezirken von Tokio
Holen Sie sich den Titel und das Lieferdatum von Yahoo! News in Python
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Überprüfen Sie den Typ der von Ihnen verwendeten Variablen
So erhalten Sie den Notebook-Namen, den Sie derzeit in Google Colab verwenden
Wenn Sie der Meinung sind, dass die Person, die Sie mit pip eingegeben haben, nicht funktioniert → Verwenden Sie python3 zufällig?
Informationen zu der von Ihnen verwendeten Entwicklungsumgebung
Überprüfen Sie den Status der Daten mit pandas_profiling
Lassen Sie uns über das Wetter in Ihrer Lieblingsgegend von Yahoo Wetter auf LINE informiert werden!
Abrufen, Testen und Senden von Testfällen im AtCoder-Wettbewerb über die Befehlszeile
Rufen Sie die Paketliste des angegebenen Benutzers aus den in PyPI registrierten Paketen ab
Lassen Sie uns automatisch den Text des Songs anzeigen, der in Python in iTunes abgespielt wird
Holen Sie sich den Inhalt von Git Diff aus Python
Holen Sie sich das Wetter in Osaka über Web-API (Python)
Holen Sie sich den Aufrufer einer Funktion in Python
Löschen wir die unbeabsichtigte (Basis), die im Terminal angezeigt wird [Verlassen Sie die Conda-Umgebung]
Holen Sie sich den neuesten Termin aus Google Kalender und benachrichtigen Sie jeden Morgen online
Wie stark ist dein Qiita? Statistiken über die Anzahl der in den Daten angezeigten Beiträge
Wird ab der Einführung von Node.js in der WSL-Umgebung verwendet
So ermitteln Sie die Anzahl der Stellen in Python
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Öffnen Sie die Chrome-Version von LINE über die Befehlszeile [Linux].
[Python] Ruft die Liste der im Modul definierten Klassen ab
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Unterschied in den Ergebnissen abhängig vom Argument von multiprocess.Process
Verwenden wir die offenen Daten von "Mamebus" in Python
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
Benachrichtigen Sie LINE über die Informationen zum TV-Auftritt Ihres Lieblingsunterhalters
Rufen Sie die Hatena Blog API von Python aus auf und speichern Sie Ihre Blog-Artikel einzeln auf Ihrem PC
Lassen Sie uns automatisch den Text des Songs anzeigen, der in iTunes in Python abgespielt wird (verbesserte Version).