Cette fois-ci, liveoor liveoor informations météo | informations météo fournies par livingoor Apportez des informations de l'API. Par défaut, les informations météo de Kagoshima sont récupérées. Si vous donnez le code d'une autre zone à l'argument, les informations météorologiques de cette zone seront récupérées. Pour le code de chaque région, reportez-vous à l'identifiant de chaque région à l'URL ci-dessous. http://weather.livedoor.com/forecast/rss/primary_area.xml
weather_api.py
#encoding:utf-8
import urllib2, sys
import json
try: citycode = sys.argv[1]
except: citycode = '460010' #Région par défaut
resp = urllib2.urlopen('http://weather.livedoor.com/forecast/webservice/json/v1?city=%s'%citycode).read()
#Convertir les données JSON lues en type dictionnaire
resp = json.loads(resp)
print '**************************'
print resp['title']
print '**************************'
print resp['description']['text']
for forecast in resp['forecasts']:
print '**************************'
print forecast['dateLabel']+'('+forecast['date']+')'
print forecast['telop']
print '**************************'
Une fois exécuté (à partir du 29/06/2015)
$ python weather_api.py
**************************
Kagoshima Prefecture Kagoshima Météo
**************************
La partie sud de Kyushu est principalement ensoleillée.
Dans la région d'Amami, il y a des endroits où il pleut beaucoup.
La partie sud de Kyushu sera couverte de haute pression le 29, mais progressivement la vallée de la pression et
Sera affecté par l'air humide. Le 30, il sera affecté par le front de la saison des pluies
C'est inclus.
La région d'Amami sera affectée par le front de la saison des pluies le 29. 30ème est la prune
Devrait être affecté par les fronts de pluie et l'air humide.
Le sud de Kyushu sera ensoleillé le 29 et nuageux la nuit. Le 30 est le début
Le temps est nuageux, mais il pleuvra progressivement, et on s'attend à ce qu'il y ait des endroits où il pleuvra très fort avec le tonnerre.
Je vais.
Dans la région d'Amami, il y aura des endroits où il pleuvra très fort avec le tonnerre le 29.
.. Le 30, il y a des endroits où il pleut beaucoup avec du tonnerre, mais il devient progressivement nuageux.
C'est inclus.
Dans la région d'Amami, des températures élevées sont attendues le 29, alors faites attention à la gestion de la santé comme le coup de chaleur.
S'il vous plaît à l'esprit.
En mer, le 29, les vagues seront un peu hautes ou quelques vagues. 30ème
, On s'attend à ce qu'il y ait des endroits où les vagues augmenteront progressivement.
Kirishimayama(Shinnendake)Vent à environ 1500 mètres au-dessus du ciel
29 09:00 vent du nord-est 3 mètres
Prévision de 21h00 le 29 vent d'Est 2 mètres
Vent d'environ 1500 mètres au-dessus de Sakurajima
29 09:00 vent d'Est 5 mètres
Prévision de 21h00 le 29 vent sud-est 2 mètres
<Points à garder à l'esprit tels que les changements météorologiques>
A Yakushima-cho, le temps sera principalement nuageux le 29. Le 30 est nuageux au début
Cependant, il y a des endroits où il pleut du matin et il pleut très fort avec du tonnerre de l'après-midi au soir.
Il y a une perspective.
**************************
aujourd'hui(2015-06-29)
Ensoleillé puis nuageux
**************************
demain(2015-06-30)
pluie
**************************
après demain(2015-07-01)
Nuageux parfois pluie
**************************
urllib2 urllib2 est un module python qui obtient des ressources sur le net à partir d'URL.
import urllib2
response = urllib2.urlopen('http://python.org/')
html = response.read()
Référence: http://docs.python.jp/2/howto/urllib2.html
Dans ce code,
resp = urllib2.urlopen('http://weather.livedoor.com/forecast/webservice/json/v1?city=%s'%citycode).read()
C'est vrai. Ici, nous obtenons des ressources de l'API de "http://weather.livedoor.com".
sys.argv sys définit des fonctions étroitement liées au fonctionnement de l'interpréteur.
Interprète: Un interpréteur est un logiciel qui exécute un programme tout en convertissant un dessin de conception de logiciel (code source) écrit par un humain dans un langage de programmation en un format (code objet) qui peut être exécuté par un ordinateur. Les langages de type interprète sont plus lents que les langages de type compilateur car ils sont convertis lorsque le programme est exécuté. Source: [Terminologie informatique e-Words | Interpreter](http://e-words.jp/w/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97 % E3% 83% AA% E3% 82% BF.html)
Surtout ici, nous utilisons sys.argv. Cela vous permet de recevoir des arguments depuis la ligne de commande. Puisque ```argv [0] `reçoit le nom du script, ce code utilise le premier argument` `ʻargv [1]`
.
référence: sys - paramètres et fonctions système Python: Obtenir les arguments de ligne de commande - variable sys.argv
try, except essayer et sauf gérer la gestion des erreurs. Si aucune exception ne se produit dans la clause try, la clause except est ignorée. Si une exception se produit, exécutez la clause except.
Cette fois, s'il y a un argument de ligne de commande, donnez ce code à citycode, sinon donnez le code de Kagoshima à citycode. Référence: 8. Erreurs et exceptions
json J'utilise le module json pour décoder le json récupéré.
json.loads()
Cette fois, les données reçues sont converties du type json au type dictionnaire. 18.2. Json - Encodeur et décodeur JSON
Recommended Posts