Holen Sie sich das Wetter mit Python-Anfragen

Ich habe es geschafft, weil es geregnet hat und ich das Wetter wissen wollte

  1. [Über Anfragen](Über # Anfragen)
  2. [Wo man das Wetter bekommt](# Wo man das Wetter bekommt)
  3. Quelle
  4. [Quellenerklärung](# Quellenerklärung)
  5. [Ausführungsergebnis](# Ausführungsergebnis)
  6. Zusammenfassung

Über Anfragen

import requests

r = requests.get("https://news.yahoo.co.jp/")
print(r.text)
<!DOCTYPE html>
     <style data-styled="gpQmdr jhlPYu" data-styled-version="4.4.1" data-styled-streamed="true">
     /* sc-component-id: sc-jAaTju */
     .gpQmdr{display:-webkit-box;display:-webkit-flex;display:-ms- flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:hidden;position:relative;background-color:#efefef;height:80px;width:80px;} .gpQmdr::after{content:'';display:block;position:absolute;top:0;left:0;box-sizing:border-box;width:100%;height:100%;border:solid 1px rgba(0,0,0,0.06);}

Woher das Wetter?

[Wetter-Webdienst] für Informationen zum Wetter in Wohngebieten (http://weather.livedoor.com/weather_hacks/webservice) Suchen Sie auf der obigen Site nach der ID der "primären Unterteilung (Stadt-Tag)" des angeforderten Bereichs im Link der Punktdefinitionstabelle im ganzen Land. (Beispiel: Präfektur Kyoto, Stadt Kyoto = 260010)

Quelle

import requests

class GetWeather:
    url = "http://weather.livedoor.com/forecast/webservice/json/v1?"

    def getWeather(self, citycode):
        query_params = {"city": citycode}
        self.data = requests.get(self.url, params = query_params).json()

    def showWeather(self):
        print(self.data["location"]["city"], "Das Wetter ist")
        for weather in self.data["forecasts"]:
            print(weather["date"])
            print(weather["dateLabel"] + "Wetter:" + weather["telop"])
            print("")

citycode = 260010
w = GetWeather()
w.getWeather(citycode)
w.showWeather()

Quellenkommentar

Die erste Zeile

import requests

Importieren Sie die Anforderungsbibliothek

3. Zeile

class GetWeather

Definition der GetWeather-Klasse.

4. Zeile

url = "http://weather.livedoor.com/forecast/webservice/json/v1?"

URL beim Anfordern von JSON-Daten

Zeilen 6-8 getWeather-Methode

def getWeather(self, citycode):
    query_params = {"city": citycode}
    self.data = requests.get(self.url, params = query_params).json()

Zeile 6: Definition der getWeather-Methode. Geben Sie die Vorwahl im Argument an. Eine Methode zum Abrufen von Wetterdaten.

Zeile 7: Weisen Sie query_params die Vorwahl zu.

  1. Zeile: Holen Sie sich Wetterdaten mit request.get (). Auf diese Weise können Sie das Wetter des Bereichs des von query_params angegebenen Codes mit der in url festgelegten Vorwahl abrufen.

Zeilen 10-15 showWeather-Methode

def showWeather(self):
    print(self.data["location"]["city"], "Das Wetter ist")
    for weather in self.data['forecasts']:
        print(weather["date"])
        print(weather["dateLabel"] + "Wetter:" + weather["telop"])
        print("")

Zeile 10: Definition der showWeather-Methode. Eine Methode zur Anzeige des erfassten Wetters.

Zeile 11: Wenn Sie sich den Eigenschaftsnamen des Antwortfelds der Wetter-Webdienstspezifikation ansehen, sehen Sie, dass die Stadteigenschaft der Standorteigenschaft den primären Unterteilungsnamen hat, also `self.data [" location "] [" city Sie können den primären Unterteilungsnamen der Stadteigenschaft mit "]` anzeigen.

Zeile 12: In ähnlicher Weise können Sie sehen, dass die Datumseigenschaft der Prognoseeigenschaft das Prognosedatum (Jahr / Monat / Tag) und die dataLabel-Eigenschaft das Prognosedatum (heute, morgen oder übermorgen) hat.

Extrahieren Sie die Eigenschaften in der Prognoseeigenschaft mit.



 Zeile 13: `` `print (Wetter [" Datum "])` ``, um die Datumseigenschaft anzuzeigen

 Zeile 14: `` `print (Wetter [" dateLabel "] +" Wetter: "+ Wetter [" telop "])` ``
 Zeigen Sie die Eigenschaft dateLabel und die Eigenschaft teleop an

### Zeilen 17-20
 Zeile 17: Definition des Stadtcodes. (Hier, Stadt Kyoto, Präfektur Kyoto)
 Zeile 18: Erstellen einer Instanz der GetWeather-Klasse.
 Zeile 19: Aufruf der getWeather-Methode.
 Zeile 20: Aufruf der showWeather-Methode.

## Ausführungsergebnis

Das Wetter in Kyoto ist 2020-06-19 Das heutige Wetter: bewölkt nach Regen

2020-06-20 Das Wetter von morgen: bewölkt, dann sonnig

2020-06-21 Das Wetter übermorgen: sonnig und manchmal bewölkt


## Zusammenfassung
 --HTTP-Kommunikation ist mit Anfragen möglich
 ――Es könnte interessant sein, wenn Sie das Wetter der Präfektur und des vom Benutzer angegebenen Gebiets abrufen können.
 ――Es ist besser, das Wetter normal zu sehen. Y ('^' c 彡 ☆)) Д´) Pan
 - [Fortsetzung (Abrufen des Wetters mit Python-Anforderungen 2)](https://qiita.com/gs_project_py25/items/5edf946348b63b2a78b9)


Recommended Posts

Holen Sie sich das Wetter mit Python-Anfragen
Holen Sie sich das Wetter mit Python-Anfragen 2
Holen Sie sich Wetterinformationen mit Python & Scraping
[Python] Ruft den Variablennamen mit str ab
Holen Sie sich ein Date mit Python
Wiederholen Sie den Vorgang mit Python-Anforderungen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich das Wetter in Osaka über Web-API (Python)
Holen Sie sich den Ländercode mit Python
Holen Sie sich Twitter-Timeline mit Python
Holen Sie sich Youtube-Daten mit Python
[Python] Holen Sie sich den Vormonat
Holen Sie sich die Thread-ID mit Python
Kratzwettervorhersage mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Rufen Sie die API mit python3 auf.
Holen Sie sich Lager mit Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Holen Sie sich Alembic-Informationen mit Python
[Python] Holen Sie sich die Zahlen im Diagramm mit OCR
Mit Python psycopg2 erhalten Sie Ergebnisse im Diktatformat
Holen Sie sich mit Python den Betriebsstatus von JR West
Extrahieren Sie die xz-Datei mit Python
Beginnen Sie mit Python! ~ ① Umweltbau ~
Link, um mit Python zu beginnen
Holen Sie sich Bewertungen mit Python Googlemap API
Mindestkenntnisse, um mit dem Python-Protokollierungsmodul zu beginnen
[Python] POST-WAV-Dateien mit Anforderungen [POST]
Holen Sie sich Web-Screen-Capture mit Python
[Python] Mit DataReader Wirtschaftsdaten abrufen
Holen Sie sich den Skriptpfad in Python
So erhalten Sie die Python-Version
Finden Sie die Bearbeitungsentfernung (Levenshtein-Entfernung) mit Python
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
Erste Schritte mit Python
Klicken Sie mit Python auf die Etherpad-Lite-API
Installieren Sie das Python-Plug-In mit Netbeans 8.0.2
[Kleine Geschichte] Holen Sie sich mit Python einen Zeitstempel
Ich mochte den Tweet mit Python. ..
Holen Sie sich Qiita-Trends mit Python-Scraping
Python Holen Sie sich das kommende Wetter von der Wetter-API
[Python] Ruft das Skriptausführungsverzeichnis mit einem absoluten Pfad ab
So gelangen Sie mit Vagrant in die Python-Entwicklungsumgebung
Holen Sie sich den Desktop-Pfad in Python
Beherrsche den Typ mit Python [Python 3.9 kompatibel]
Systemhandel ab Python3: Holen Sie sich den neuesten Programmcode
Holen Sie sich den Hostnamen in Python
Python Hinweis: Holen Sie sich den aktuellen Monat
Senden Sie mehrteilige / Formulardaten mit Python-Anforderungen
Beginnen Sie mit Python mit Blender
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Wie ist der Fortschritt? Lassen Sie uns mit dem Boom in Python weitermachen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Erste Schritte mit dem Python-Framework Django unter Mac OS X.
Der schnellste Weg, um regelmäßig Kamerabilder mit Pythons OpenCV zu erhalten
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Machen Sie die Python-Konsole mit UNKO bedeckt
Tweet die Wettervorhersage mit Bot
Holen Sie sich mit Python zusätzliche Daten zu LDAP