Ja. Vergangener Artikel http://qiita.com/clarinet758/items/0142e88cd19a4246f308
http://weather.service.msn.com/data.aspx?src=vista&weadegreetype=C&culture=ja-JP&wealocations=wc:
Leider scheint das Update seit Mitte November 2016 nicht mehr aktualisiert worden zu sein.
Irgendwie verursacht es das dritte, so dass das Update den Tee schlammig macht. Das neue Erfassungsziel ist OpenWeatherMap. Ich habe immer noch die Python 2-Serie verwendet. Es ist schmerzhaft.
Referenz
http://qiita.com/b-wind/items/06e19043a0cd70b10b03
http://qiita.com/nownabe/items/aeac1ce0977be963a740
http://qiita.com/sudnonk12/items/744fb48e378c05979952
Wenn Sie das Obige lesen, müssen Sie in Zukunft wahrscheinlich nichts mehr lesen.
Wenn Sie ein paar Informationen für Twitter wünschen, verwenden Sie eine der beiden? Wann,
`api.openweathermap.org/data/2.5/weather? Die folgende Option
`.
Es kann nur ein Fall im Status zum Zeitpunkt der letzten Aktualisierung abgerufen werden. Ich denke, dass dies verwendet wird, wenn das aktuelle Wetter ~ ist. Diesmal wollte ich das nicht, also ist es das hier. `api.openweathermap.org/data/2.5/forecast ?? Die folgende Option
`.
Es scheint, dass Sie es für 5 Tage in Intervallen von 3 Stunden bekommen können. Sie können die Prognose für welchen Monat, Tag und welche Uhrzeit mit dem Wert dt_txt überprüfen. Darüber hinaus denke ich, dass es ein Teil ist, sich Gedanken darüber zu machen, wann Sie sich für "Informationen von 3 Stunden" auf "Wetter von morgen" beziehen sollten.Beispielcode
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'heute', u'Morgen'][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:}von{1:}ら辺von天候は{2:}ist. Die maximale Temperatur beträgt{3:}Bei etwa Grad ist die niedrigste Temperatur{4:}Über den Abschluss.#{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}))
Abhängig von der Zeit, in der Sie sich bewegen, hängt das Wetter von heute morgen und die Anzahl der Informationen, die Sie in den erfassten Informationen verwenden, davon ab, wie Sie sie verwenden. Außerdem habe ich -273.15 geschrieben, um die Temperatur von Kelvin in Chou umzuwandeln, aber es scheint, dass wenn Sie die Option aktivieren, wenn Sie den Endpunkt erreichen, sie in Chou zurückgegeben wird. Twitter Post Beispielbild
Recommended Posts