読者です 読者をやめる 読者になる 読者になる

Masa / Lino Blog

Masanori Satoh ( Masa / Lino ) の徒然ブログです

Google App Engineで動くTwitterのBotを作りました リベンジ編

Python Google

昨日、Google App Engineで動くTwitterのBotを作りましたで、GAE上で動作するTwitterBotを作成したことを書きましたが、前述のとおり、自動フォローはTwitter規約違反でした。そのため、今のアプリは単なる検索アプリになってしまっています。


このままでは、2012年をすっきりと迎えられないので、新たなBotを実装してリベンジしました。
@ArsenalJPFans では、Arsenalの試合のTV放送を1週間分まとめて、毎週金曜日にTweetします。

今度は、利用規約をよーく読んだので大丈夫。はなず。

アプリの仕様はこんな感じです。

  • TV番組表から、"アーセナル"が含まれている番組一覧を持ってくる
  • 同じ時間帯の同一番組の重複を除く
    • スカパーなどは同じ時間帯に、同じ放送を違うチャンネルで流してたりするため
  • 毎週金曜日22時に自動的にTweetする

いろいろブログにプログラミングHow toを書こうと思ったのですが、めんどくさくなったので要点だけをまとめておきます。

コードはGithubで公開しているので、興味がある人はコードを読んでください・・・。
https://github.com/linosatoh/ArsenalJPFansTwitterBot
なお、GAEのポイントは昨日のエントリーをご覧ください。

HTMLパーサーはBeautifulSoup

HTMLパーサーにはBeautifulSoupを使いました。PythonのHTMLParserでも良かったのですが、便利そうだったので使いました。

ちょっと癖はありましたが、意図したHTMLをパースして中身を取り出すことができました。





ちなみに、重複した番組を除くのに、ちょっとしたアルゴリズムを考えたのですが、もうホワイトボードがないとアルゴリズムが考えられない体になっているのにびっくりしました。


デジャブ宣伝です。
TwitterAPIで遊んでみるときは、この本の評判がいいみたいです。
なんといってもTwitterの中の人 @yusukey さんが書いてますし。

本屋で立ち読みはしたんですが、買ってはいないので、書評は控えさせて(略