[PYTHON] Une histoire sur l'obtention du champ Atom (télégramme XML) de l'Agence météorologique avec une tarte à la râpe et de le tweeter

Qu'est-ce que tu veux faire

Je voulais créer un compte Twitter comme NE〇V, une agence spéciale avec une totale satisfaction personnelle. Pour le moment, j'aimerais obtenir des alertes météorologiques, des avertissements et des informations sur les tremblements de terre et les tweeter, en laissant de côté la création automatique de la carte.

Où obtenir des informations

"Télégramme au format XML d'information sur la prévention des catastrophes de l'Agence météorologique" Toya a été publié sur le site Web de l'Agence météorologique, je suis donc reconnaissant de l'utiliser. Les flux Atom que vous pouvez obtenir ・ Heure normale: informations sur la météo annoncées à l'heure, telles que les conditions météorologiques générales. ・ Au besoin: informations sur la météo annoncées à tout moment, telles que les avertissements et les avertissements. ・ Volcan tremblement de terre: informations sur les tremblements de terre et les volcans ・ Autres: ceux qui n'appartiennent à aucun des trois types ci-dessus Vous pouvez en choisir un, alors choisissez celui que vous aimez et remplacez la variable "Atom_URL" dans le code ci-dessous. De plus, cet article est avancé dans «À tout moment: informations sur la météo annoncées à tout moment telles que les avertissements et les avertissements». Il est également possible d'obtenir plusieurs informations en dupliquant le fichier et en créant un fichier avec une variable différente "Atom_URL".

Ce que tu peux faire à la fin

Tu peux le faire image.png image.png

Mon environnement

Raspberry Pi 3 Model B+、Python 2.7.16[GCC 8.3.0] on linux2。

Obtenez l'API Twitter

D'abord d'ici. Veuillez vous référer à cette zone pour obtenir l'API Twitter. https://qiita.com/kazupen2018/items/ff9828cc853ab9c3357e

Installer feedparser

$ pip install feedparser

Obtenir des informations

test.py


# coding: utf-8
from twython import Twython, TwythonError
import feedparser

Atom_URL = "http://www.data.jma.go.jp/developer/xml/feed/extra.xml"
news_dic = feedparser.parse(Atom_URL)
latest_entry = news_dic['entries'][0]
rss1 = latest_entry.title + latest_entry.author
rss2 =  latest_entry.content

print (rss1)
print rss2[0]["value"]

Essayez de courir

$ python test.py

Résultat d'exécution

Avertissement / alerte météorologique Observatoire météorologique local de Hakodate
[Watashijima / Hiyama Local Meteorological Warning / Warning] Annule l'avertissement.

Après avoir confirmé que quelque chose comme celui-ci est sorti, passez à l'étape suivante.

Tweet les informations acquises

Installez Twython

$ pip install twython

Essayez d'écrire du code

JMA_XML.py


# coding: utf-8
from twython import Twython, TwythonError
#Champ atomique de l'Agence météorologique
import feedparser

APP_KEY = "Entrez la clé d'application obtenue ici"
APP_SECRET = "Entrez le SECRET APP obtenu ici"
OAUTH_TOKEN = "Entrez le JETON OAUTH obtenu ici"
OAUTH_TOKEN_SECRET = "Entrez le SECRET DE JETON OAUTH obtenu ici"

#Informations sur la météo annoncées à tout moment, telles que les avertissements et les avertissements
Atom_URL = "http://www.data.jma.go.jp/developer/xml/feed/extra.xml"
news_dic = feedparser.parse(Atom_URL)
latest_entry = news_dic['entries'][0]
rss1 =  latest_entry.content
rss2 = rss1[0]["value"]

twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

try:
    twitter.update_status(status=rss2)
except TwythonError as e:
    print e

(Veuillez remplacer APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET par vous-même) (Si vous souhaitez modifier le champ Atom que vous souhaitez obtenir, remplacez la variable "Atom_URL")

Essayez de courir

$ python JMA_XML.py

Vérifiez Twitter

image.png S'il est tweeté comme ça, c'est un succès.

Recommended Posts

Une histoire sur l'obtention du champ Atom (télégramme XML) de l'Agence météorologique avec une tarte à la râpe et de le tweeter
Fabriquez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 3
Gratter les données pluviométriques de l'Agence météorologique et les afficher sur M5Stack
Lire le fichier GRIB2 de l'Agence météorologique sur pygrib
Un programme qui reçoit la commande d'asservissement du contrôleur radio, interrompt la tarte aux râpes et l'enregistre.
Une histoire sur la prédiction des préfectures à partir des noms de villes avec Jubatus
Lisez les données du lecteur NFC connecté à Raspberry Pi 3 avec Python et envoyez-les à openFrameworks avec OSC
L'histoire de la création d'une caméra sonore avec Touch Designer et ReSpeaker
Une histoire sur le calcul de la vitesse d'une petite balle tombant tout en recevant la résistance de l'air avec Python et Sympy
J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique
J'ai créé un système avec Raspberry Pi qui mesure périodiquement l'indice d'inconfort de la pièce et envoie une notification LINE s'il s'agit d'une valeur dangereuse
Téléchargez les données éoliennes de l'Agence météorologique
Une histoire à laquelle j'ai pensé en essayant d'identifier les informations de plénitude du parking en utilisant l'image obtenue par la caméra Web et Razpai et le deep learning.
Le processus d'installation d'Atom et de l'exécution de Python
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
Une histoire sur le changement du nom principal de BlueZ
Notez ce que vous voulez faire à l'avenir avec Razpai
Créez facilement un TweetBot qui vous informe de la température et de l'humidité avec Raspberry Pi + DHT11.
(Premier article) Une histoire sur le calcul numérique de la grippe et du nouveau coronavirus de la pneumonie avec Tensorflow
Une histoire sur le portage du code de "Essayez de comprendre comment fonctionne Linux" sur Rust
L'histoire du champ de modèle Django disparaissant de la classe
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
Créez une partition, puis installez le système d'exploitation Raspberry Pi
Une histoire sur la façon de traiter le problème CORS
L'histoire de la création d'un bot de boîte à questions avec discord.py
Construire un environnement distribué avec la série Raspberry PI (Partie 2: Analyse PiServer et conception de système alternatif)
Obtenez des informations de l'Agence météorologique et informez Slack des avertissements météorologiques dans les 23 quartiers de Tokyo