Obtenez la météo avec les requêtes Python

Je l'ai fait car il pleuvait et je voulais connaître le temps

  1. [À propos des demandes](À propos de #requests)
  2. [Où trouver la météo](# Où obtenir la météo)
  3. Source
  4. [Explication de la source](# Explication de la source)
  5. [Résultat de l'exécution](# Résultat de l'exécution)
  6. Résumé

À propos des demandes

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);}

Où trouver la météo

[Service Web Météo] pour obtenir des informations météorologiques sur les lieux de vie (http://weather.livedoor.com/weather_hacks/webservice) Recherchez l'identifiant de la "subdivision principale (étiquette de ville)" de la zone demandée dans le lien du tableau de définition des points à l'échelle nationale sur le site ci-dessus. (Exemple: Préfecture de Kyoto, ville de Kyoto = 260010)

La source

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"], "Le temps est")
        for weather in self.data["forecasts"]:
            print(weather["date"])
            print(weather["dateLabel"] + "La météo:" + weather["telop"])
            print("")

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

Commentaire de la source

La première ligne

import requests

Importer la bibliothèque de demandes

3e ligne

class GetWeather

Définition de la classe GetWeather.

4ème ligne

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

URL lors de la demande de données JSON

Lignes 6 à 8 Méthode getWeather

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

Ligne 6: Définition de la méthode getWeather. Spécifiez l'indicatif régional dans l'argument. Une méthode pour obtenir des données météorologiques.

Ligne 7: attribuez l'indicatif régional à query_params.

8ème ligne: Obtenez les données météorologiques avec requests.get () Avec cela, vous pouvez obtenir la météo de la zone du code spécifié par query_params avec l'indicatif régional défini dans l'url.

Lignes 10-15 Méthode showWeather

def showWeather(self):
    print(self.data["location"]["city"], "Le temps est")
    for weather in self.data['forecasts']:
        print(weather["date"])
        print(weather["dateLabel"] + "La météo:" + weather["telop"])
        print("")

Ligne 10: Définition de la méthode showWeather. Une méthode pour afficher la météo acquise.

Ligne 11: En regardant le nom de propriété du champ de réponse de la spécification du service Web météo, vous pouvez voir que la propriété city de la propriété location a le nom de la subdivision principale, donc `self.data [" location "] [" city Vous pouvez afficher le nom de la subdivision principale de la propriété de la ville avec "]`.

Ligne 12: De même, vous pouvez voir que la propriété date de la propriété prévisions a la date (date) de prévision et la propriété dataLabel a la date de prévision (aujourd'hui, demain ou après-demain).

Extraire les propriétés de la propriété prévisions avec.



 Ligne 13: `` `` print (weather ["date"]) `` `` pour afficher la propriété date

 Ligne 14: `` `` imprimer (météo ["dateLabel"] + "météo:" + météo ["telop"]) `` `
 Afficher la propriété dateLabel et la propriété teleop

### Lignes 17-20
 Ligne 17: Définition du code de la ville. (Ici, ville de Kyoto, préfecture de Kyoto)
 Ligne 18: Création d'une instance de la classe GetWeather.
 Ligne 19: appel à la méthode getWeather.
 Ligne 20: appel à la méthode showWeather.

## Résultat d'exécution

Le temps à Kyoto est 2020-06-19 Météo du jour: nuageux après la pluie

2020-06-20 Météo de demain: nuageux puis ensoleillé

2020-06-21 Le temps après-demain: ensoleillé et parfois nuageux


## Résumé
 - La communication HTTP est possible avec les demandes
 ――Il peut être intéressant de savoir si vous pouvez obtenir la météo de la préfecture et de la zone spécifiée par l'utilisateur.
 ――Il vaut mieux voir la météo normalement y ('^' c 彡 ☆)) Д´) Pan
 - [Suite (Obtenir la météo avec les requêtes Python 2)](https://qiita.com/gs_project_py25/items/5edf946348b63b2a78b9)


Recommended Posts

Obtenez la météo avec les requêtes Python
Obtenez la météo avec les requêtes Python 2
Obtenez des informations météorologiques avec Python et le grattage
[Python] Récupère le nom de la variable avec str
Obtenez date avec python
Réessayer avec des requêtes python
[Python] Récupérez les fichiers dans le dossier avec Python
Obtenez la météo à Osaka via l'API Web (python)
Obtenez le code du pays avec python
Obtenez la chronologie Twitter avec Python
Obtenez des données Youtube avec python
[Python] Récupérez le mois précédent
Obtenir l'ID de thread avec python
Scraping prévisions météorologiques avec python
Commencez avec Python! ~ ② Grammaire ~
Appelez l'API avec python3.
Obtenez des stocks avec Python
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Obtenez des informations sur l'alambic avec Python
[Python] Obtenez les nombres dans l'image graphique avec OCR
Obtenez des résultats au format dict avec Python psycopg2
Obtenez l'état de fonctionnement de JR West avec Python
Extraire le fichier xz avec python
Commencez avec Python! ~ ① Construction de l'environnement ~
Lien pour commencer avec python
Obtenez des avis avec l'API googlemap de python
Connaissances minimales pour démarrer avec le module de journalisation Python
[Python] Fichiers wav POST avec requêtes [POST]
Obtenez une capture d'écran Web avec python
[Python] Obtenez des données économiques avec DataReader
Obtenez le chemin du script en Python
Comment obtenir la version Python
Trouvez la distance d'édition (distance de Levenshtein) avec python
Touchons l'API de Netatmo Weather Station avec Python. #Python #Netatmo
Comment démarrer avec Python
Accédez à l'API Etherpad-lite avec Python
Installer le plug-in Python avec Netbeans 8.0.2
[Petite histoire] Obtenez l'horodatage avec Python
J'ai aimé le tweet avec python. ..
Obtenez les tendances Qiita avec le scraping Python
python Obtenez la météo à venir de l'API météo
[Python] Récupère le répertoire d'exécution du script avec un chemin absolu
Comment entrer dans l'environnement de développement Python avec Vagrant
Obtenez le chemin du bureau en Python
Maîtriser le type avec Python [compatible Python 3.9]
Commerce du système à partir de Python3: obtenez le dernier code de programme
Obtenez le nom d'hôte en Python
Remarque Python: obtenez le mois en cours
Envoyer des données multipart / form avec des requêtes python
Démarrez avec Python avec Blender
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Récupérez la source de la page à charger indéfiniment avec python.
Comment est le progrès? Continuons le boom ?? en Python
Je veux connaître la météo avec LINE bot avec Heroku + Python
Premiers pas avec le framework Python Django sur Mac OS X
Le moyen le plus rapide d'obtenir régulièrement des images de caméra avec opencv de python
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
Rendre la console Python couverte d'UNKO
Tweet la météo avec bot
Obtenez des données supplémentaires vers LDAP avec python