2015年2月7日土曜日

Yahoo API を使ってトレンドを bot からつぶやいてみる

Amazon EC2 で Twitter bot を 3分で作った話。 でも紹介しましたが、
前回は 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")
if response != 200:
    print "Error!!"
    exit()
jsondata = json.loads(response.text)
jsondata["ResultSet"]["0"]["Result"]["0"]["Name"] # 1位にランクされた製品名
あとは tweet する際のパラメータに打ち込めばtweetできちゃいます。


(番外編)
今までssh接続する際のターミナルとしてcygwinを使ってたけど、json.dumps() で正しく改行されなかったのでTeraTermに切り替え。
# 改行コード直せばいけると思うけどそれもめんどくて。。。
AWSコンソールへの接続 @ TeraTerm


今日はこれにて。

0 件のコメント:

コメントを投稿