2009-07-11
Gmailから特定のラベルが付いてる未読メールの一覧を取ってきてTwitterのURLを抜き出してそいつをフォローするスクリプト
タイトルどおり。
follow通知にラベルをつけたはいいけどいちいちURLに飛んでフォローするのがめんどくさくて放置しちゃってる人は使ってみてください。
http://bitbucket.org/feiz/kakisute/src/tip/follow_from_gmail.py
IMAP4_SSLのインスタンス生成時に固定でGmailって打っちゃってるんでそのままだとGmailのみ対応。
別のIMAPが使えるメールサービスで使うときは適当に書き換えてください。
流れ
- 1:TwitterとGmailの垢パス、対象とするラベル名を入力
- 標準入力から文字列を取る処理がやりたかった。
- 2:imaplibでGmailから未読メールのリストを取得
- NEWだとなぜか取れなかった(?)のでUNSEENで取得
- 3:本文をフェッチしてmatchobject.findallをキめる
- twitter.comのURLはメール中に2件出てくるのでリストの1件目のみを処理対象に。
- 4:twitter.Api.CreateFriendshipする
- アカウントが無い、もしくはすでにフォロー済みの場合はExceptionが返る。
- 5:imaplibで処理したメールを既読にする
- +するのが無難
勉強できたこと
- 標準入力から文字列を入力する方法
- これに限らずPythonの標準機能を知らなすぎるのをなんとかしなきゃいけない
- imaplibの使い方
- ドキュメントにいい感じのサンプルがあった。
- IMAPプロトコルの仕組み(ちょっとだけ)
- RFCを英語のまま読むということを初めてやった。
書いてみて
3時間で書いた。
この程度のものは1時間いや30分で書きたいところ。
トラックバック - http://d.hatena.ne.jp/feiz/20090711/1247313240
リンク元
- 104 http://logiq.orz.hm/
- 26 http://ezsch.ezweb.ne.jp/search/ezGoogleMain.php?query=壁紙検索&start-index=4&adpage=3&mode=02
- 12 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=python+juno&btnG=検索&lr=lang_ja
- 7 http://d.hatena.ne.jp/Voluntas/20090516/1242482537
- 5 http://www.google.co.jp/search?hl=ja&q=python+juno&sourceid=navclient-ff&rlz=1B3GGGL_jaJP313JP313&ie=UTF-8&aq=h
- 5 http://www.google.co.jp/search?q=python+juno&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja-JP-mac:official&client=firefox-a
- 4 http://www.google.co.jp/search?hl=ja&q=ubuntu+デーモン+自動起動&btnG=Google+検索&lr=&aq=3r&oq=ubuntu+でー
- 4 http://www.google.co.jp/search?q=Python+Juno&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:ja:unofficial&client=firefox-a
- 3 http://d.hatena.ne.jp/asin/4798021741
- 3 http://d.hatena.ne.jp/johzan/20090708
