塩見周子の徒然日記

自分のことを塩見周子と思い込んでいるオタクです

Pythonでスクレイピング 2-4,2-5/Web API,cron

2-2,2-3をなんで飛ばしたかというと、開発中止になったPhantomJSの話が割とメインだったからです。2-3,2-4でもPhantomJSを使わない部分をかいつまんでやっていきます。

2-4

OpenWeatherMapから天気の情報を取得するコード

import requests
import json

apikey = '(32桁のAPIキーを入れる)'

cities = ['Tokyo,jp', 'London,UK', 'New York,US']

#APIの雛形
api = 'https://api.openweathermap.org/data/2.5/weather?q={city}&APPID={key}'

#絶対温度を摂氏に変換
k2c = lambda k: k-273.15

for name in cities:
    url = api.format(city=name, key=apikey) #formatでcity,keyの部分を置換
    r = requests.get(url) #urlのデータをリクエストする
    data = json.loads(r.text) #JSON形式のデータをPythonのデータに変換する
    print('+ 都市=', data['name'])
    print('|  天気=', data['weather'][0]['description'])
    print('|  最低気温=', k2c(data['main']['temp_min']))
    print('|  最高気温=', k2c(data['main']['temp_max']))
    print('|  湿度=', data['main']['humidity'])
    print('|  気圧=', data['main']['pressure'])
    print('|  風向き=', data['wind']['deg'])
    print('|  風速度=', data['wind']['speed'])
    print('')
    print(data)

結果(一部)↓
f:id:saguh:20190919051159p:plain

多くのWeb APIの結果は、XMLJSON形式で返されるとのこと。


2-5

cron(クロン)は「定期的なデータのクローリング」を行うのに便利。一般に、①データ収集②バックアップ③システム動作監視に使われる。

まあなんか設定すれば動きそうだねみたいな雰囲気を感じとって終了。