[PYTHON] Tweet les prévisions météo avec le bot Partie 2

Oui. Article précédent http://qiita.com/clarinet758/items/0142e88cd19a4246f308

http://weather.service.msn.com/data.aspx?src=vista&weadegreetype=C&culture=ja-JP&wealocations=wc:
Malheureusement, la mise à jour ne semble pas avoir été mise à jour depuis la mi-novembre 2016. D'une manière ou d'une autre, cela provoque le troisième, donc la mise à jour rendra le thé boueux. La nouvelle destination d'acquisition est OpenWeatherMap. J'ai toujours utilisé la série Python 2. C'est douloureux. Référence http://qiita.com/b-wind/items/06e19043a0cd70b10b03
http://qiita.com/nownabe/items/aeac1ce0977be963a740
http://qiita.com/sudnonk12/items/744fb48e378c05979952

Si vous lisez ce qui précède, je ne pense pas que vous ayez besoin de lire quoi que ce soit à l'avenir.

Si vous voulez un peu d'informations pour Twitter, utilisez-vous l'un des deux? Quand,

  1. Current weather data Le point final est ```api.openweathermap.org / data / 2.5 / weather? L'option suivante `` `. Un seul cas dans l'état au moment de la dernière mise à jour peut être obtenu. Je pense que cela est utilisé si la météo actuelle est ~. Ce n'était pas ce que je voulais cette fois, alors c'est tout pour ici.
  2. 5 day / 3 hour forecast Le point final est ```api.openweathermap.org / data / 2.5 / prévisions ?? L'option suivante `` `. Il semble que vous puissiez l'obtenir pendant 5 jours avec des intervalles de 3 heures. Vous pouvez vérifier les prévisions pour quel mois, quel jour et quelle heure avec la valeur de dt_txt. De plus, je pense que c'est une partie à s'inquiéter de l'heure à laquelle se référer à "La météo de demain" pour l'information de 3 heures.

Exemple de code

weather


#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import datetime
import oat
import time
import urllib2
import json


class Weather3:
    def __init__(self, api_key, hour, name, code, tag):
        self.api_key = api_key
        self.day = [u'aujourd'hui', u'demain'][hour == **].encode('utf-8')
        self.name = name.encode('utf-8')
        self.code = code
        self.indx = [-1]*25
        self.indx[*] = *
        self.f = self.indx[hour]
        self.tag = tag

    def get_json(self):
        url = 'http://api.openweathermap.org/data/2.5/forecast?id={0:}&APPID={1:}'.format(self.code, self.api_key)
        o = urllib2.urlopen(url)
        r = o.read()
        j = json.loads(r)
        return j

    def get_info(self):
        ind = self.f
        data = self.get_json()
        base = data['list'][ind]
        tenki = base['weather'][0]['main']
        t_max = str('{0:.2f}'.format(base['main']['temp_max']-273.15))
        t_min = str('{0:.2f}'.format(base['main']['temp_min']-273.15))
        return (tenki, t_max, t_min)

    def make_txt(self):
        d = self.get_info()
        temp = "{0:}de{1:}ら辺de天候は{2:}est. La température maximale est{3:}À environ degrés, la température la plus basse est{4:}À propos du degré.#{5:}"
        text = temp.format(self.day, self.name, d[0], d[1], d[2], self.tag)
        return text

    def tweet(self):
        message = self.make_txt()
#        print message
        oat.tweet(message)

    def run(self):
        self.tweet()
        time.sleep(5)

if __name__ == '__main__':
    target = [[u'Shinagawa', 1852140], [u'Funabashi', '1863905'], [u'Kumamoto', '1858421'], [u'Uji', '1849372']]
    jikan = datetime.datetime.now()
    flag = jikan.hour
    tag = jikan.microsecond

    for i in target:
        w = Weather3(oat.api_key, flag, i[0], i[1], tag)
        w.run()

token


#!/usr/bin/python
# -*- coding:UTF-8 -*-

from urllib import urlencode
from oauth2 import Client, Consumer, Token
import tweepy

#Twitter
consumer_key = "xxxxxx"
consumer_secret = "xxxxxxxxxxx"
user_key = "*****-xxxxxxxxxx"
user_secret = "xxxxxxxxx"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(user_key, user_secret)
client = Client(Consumer(consumer_key, consumer_secret), Token(user_key, user_secret))
api = tweepy.API(auth)
ep = "https://api.twitter.com/1.1/statuses/update.json"

#OpenWeatherMap
api_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

def tweet(message):
    client.request(ep, 'POST', urlencode({'status': message}))


def reply(message, ids):
    client.request(ep, 'POST', urlencode({'status': message, 'in_reply_to_status_id': ids}))

Selon l'heure à laquelle vous vous déplacez, la météo de demain aujourd'hui et le nombre d'informations que vous utilisez dans les informations acquises varient en fonction de la façon dont vous les utilisez. De plus, j'ai écrit -273,15 pour convertir la température de Kelvin en Chou, mais il semble que si vous activez l'option lorsque vous atteignez le point final, elle sera renvoyée dans Chou. Exemple d'image de publication Twitter http://www.nowshika.com/joso/img11110131.png

Recommended Posts

Tweet les prévisions météo avec le bot Partie 2
Annoncer les prévisions météorologiques (pluie, etc.) par DM dans le cadre de la fonction de bot
J'ai fait une prévision météo de type bot avec Python.
Afficher les prévisions météorologiques du jour avec le script shell
Dessinez un graphique avec PyQtGraph Partie 5-Augmentez l'axe Y
Créez une carte thermique de tweet avec l'API Google Maps
Tweetez la probabilité de précipitations dans le cadre de la fonction de bot
Scraping prévisions météorologiques avec python
[Partie 4] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Partie 1] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
[Partie 3] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
Créez un Twitter BOT avec le SDK GoogleAppEngine pour Python
[Python] J'ai essayé de laisser LINE BOT répondre aux prévisions météo
[Partie 2] Utilisez le Deep Learning pour prévoir la météo à partir d'images météorologiques
L'histoire de la création d'un bot de boîte à questions avec discord.py
Jouez avec une tortue avec des graphiques de tortue (partie 1)
Obtenez la météo avec les requêtes Python
Obtenez la météo avec les requêtes Python 2
J'ai aimé le tweet avec python. ..
[LINE bot] Je suis un ranger! Partie 2
Je veux connaître la météo avec LINE bot avec Heroku + Python
Trouvez la valeur optimale de la fonction à l'aide d'un algorithme génétique (partie 2)
Compter la partie concaténée maximale d'un graphe aléatoire avec NetworkX
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 1)
Créez un service Twitter BOT avec GAE / P + Tweepy + RIOT API! (Partie 2)
Rechercher le labyrinthe avec l'algorithme python A *
Prévision de stock avec TensorFlow (LSTM) ~ Prévision de stock Partie 1 ~
Faisons un bot Twitter avec Python!
Dessinez un graphique avec PyQtGraph Part 1-Drawing
Fabriquez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 3
Un modèle qui identifie la guitare avec fast.ai
J'ai fait un robot de remplacement de tampon avec une ligne
Tweetez régulièrement avec l'API Twitter Go language
[Python] Récupérez les fichiers dans le dossier avec Python
Créer un bot Twitter Trend avec heroku + Python
Trouvez la position au-dessus du seuil avec NumPy
Créer un LINE BOT avec Minette pour Python
Dessinez un graphique avec les paramètres PyQtGraph Partie 3-PlotWidget
Suivez le marqueur AR avec un servo à 2 axes
J'ai créé un Bot LINE avec Serverless Framework!
Étapes pour créer un bot Twitter avec Python
Dessinez un graphique avec les paramètres PyQtGraph Part 4-PlotItem
Enregistrer l'objet dans un fichier avec pickle
Dessinez un graphique avec PyQtGraph Partie 6 - Affichage d'une légende
Créer un bot LINE WORKS avec Amazon Lex
Web scraping avec Python (prévisions météo)
Créez un outil de traduction avec Translate Toolkit
Made Mattermost Bot avec Python (+ Flask)
Ajouter une fonction pour indiquer la météo d'aujourd'hui au bot slack (fabriqué par python)
Prévision de stock avec TensorFlow (perceptron multicouche: MLP) ~ Prévision de stock 2 ~
[AWS] J'ai créé un BOT de rappel avec LINE WORKS
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
Faire un bot d'analyse morphologique de manière lâche avec LINE + Flask
Découpez une partie de la chaîne à l'aide d'une tranche Python
Comment créer un sous-menu avec le plug-in [Blender]
Visualisons la pièce avec tarte aux râpes, partie 1
Créez un BOT qui raccourcit l'URL Discord
Prenez des captures d'écran LCD avec Python-LEGO Mindstorms
Comment faire un jeu de tir avec toio (partie 1)