Yahoo API を使ってトレンドを bot からつぶやいてみる
Amazon EC2 で Twitter bot を 3分で作った話。 でも紹介しましたが、
前回は bot を作ることに成功した。
次はbotがつぶやく文章を作成したい。
リアルタイムで何か意味のある情報を生成したいので、
外部 Web API を駆使することにする。
今回は Yahoo が提供しているWeb API を使うことにする。
デベロッパーネットワークトップ > ショッピング > カテゴリランキング のAPIで、
json型を返す仕様を選択。
以下のURLでHTTPリクエストするとjson型のレスポンスが来る。
まずはブラウザで軽く確認するとよい。
requests ライブラリを使うと鬼の速さで実装できるのでおすすめ。
$ sudo pip install requests でインストールできますね。
取得したjsonを解析する必要があるので以下の流れで実装。
(番外編)
今までssh接続する際のターミナルとしてcygwinを使ってたけど、json.dumps() で正しく改行されなかったのでTeraTermに切り替え。
# 改行コード直せばいけると思うけどそれもめんどくて。。。
AWSコンソールへの接続 @ TeraTerm
今日はこれにて。
前回は bot を作ることに成功した。
次はbotがつぶやく文章を作成したい。
リアルタイムで何か意味のある情報を生成したいので、
外部 Web API を駆使することにする。
今回は Yahoo が提供しているWeb API を使うことにする。
デベロッパーネットワークトップ > ショッピング > カテゴリランキング のAPIで、
json型を返す仕様を選択。
以下のURLでHTTPリクエストするとjson型のレスポンスが来る。
まずはブラウザで軽く確認するとよい。
http://shopping.yahooapis.jp/ShoppingWebService/V1/json/categoryRanking?appid=<取得したアプリケーションID>&category_id=635&sort=-sold
requests ライブラリを使うと鬼の速さで実装できるのでおすすめ。
$ sudo pip install requests でインストールできますね。
取得したjsonを解析する必要があるので以下の流れで実装。
response = requests.get("URL")あとは tweet する際のパラメータに打ち込めばtweetできちゃいます。
if response != 200:
print "Error!!"
exit()
jsondata = json.loads(response.text)
jsondata["ResultSet"]["0"]["Result"]["0"]["Name"] # 1位にランクされた製品名
(番外編)
今までssh接続する際のターミナルとしてcygwinを使ってたけど、json.dumps() で正しく改行されなかったのでTeraTermに切り替え。
# 改行コード直せばいけると思うけどそれもめんどくて。。。
AWSコンソールへの接続 @ TeraTerm
今日はこれにて。
コメント
コメントを投稿