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

各社のDeal of the Day用のbotを作ってみた

Python GoogleAppEngine Twitter

以前、以下のエントリにあるようにApressのBotを作成した。
ApressのDeal of the Day用のbotを作ってみた - メモ的な思考的な


その後、手元にある本の出版元を調べてみると、各社より Deal of the Day が開催されていた。
ただ、残念ながらGoogleリーダーではFeedが正しく取得できないケースもあった。


そこで、上記のBotではなく、Deal of the Dayの情報をつぶやくBotへと修正することにした。
(それに伴い、ApressのBotは停止)

Bot情報

 

仕様

  • 140文字を超過する場合、140文字に収まるように編集し、ツイートする

 

実装時に困ったことと対応

webapp2.RequestHandlerの「__init__」を使いたい時はどうすればよいか

コンストラクタでFeedのURLなどを設定しようと考えたものの、単純にsuper()を使うだけでは動作しなかったため、公式ページを確認したところ答えあり。
「webapp2.RequestHandler.initialize()」を使えとのこと。
Request handlers — webapp2 v2.5.1 documentation



Pythonでリストの最後の要素を取るには?

list[-1]のように指定する。
Python でリストの要素を指定 – car, cdr に相当するもの | すぐに忘れる脳みそのためのメモ



文字列から、範囲で文字列を抜き出すには

string[開始index:終了index+1] となりそう。
文字列の操作 - ひきメモ



ソース

ApressBotのリポジトリ名称を変えて、GitHubへとアップ。
thinkAmi/EbooksDealoftheDayBot · GitHub


使用リソース

スクレイピングをやめてRSS解析だけにしたこともあり、変化はあまり無いようです。