Twitter でイチイチ follow するのが面倒くさい んだけど自前でメールサーバも立ててない
「基本、follow されたらし返すから、自動でいいじゃん」とか思いはじめたので、こんな感じで自動 follow するようにしました。
Twitter でイチイチ follow するのが面倒くさい - にぽたん研究所
を Gmail に IMAP でアクセスしてやるっていうのを
お友達がRubyでやろうとしてたので
「それ Python でやったほうが早いよ(バッテリ付属的な意味で」
と、思ったのでやってみた。
#!/usr/bin/env python # -*- coding: utf-8 -*- gmailuser='dankogai@gmail.com' gmailpasswd='kogaidan' twitteruser = 'dankogai' twitterpasswd = 'kogaidan' from imaplib import IMAP4_SSL import re,urllib gmail = IMAP4_SSL('imap.gmail.com') gmail.login(gmailuser,gmailpasswd) gmail.select('[Gmail]/All Mail') mails = gmail.search(None, 'FROM', '"noreply@twitter.com"', 'SUBJECT', '"*is now following you on Twitter!"', 'UNSEEN') for num in mails[1][0].split(): typ, data = gmail.fetch(num,'(BODY[TEXT])') body = data[0][1] name = re.findall(r'\s+http://twitter\.com/(\w+)',body)[0] urllib.urlopen('http://%s:%s@twitter.com/friendships/create/%s.json' % (twitteruser,twitterpasswd,name),'').read() gmail.store(num, 'FLAGS.SILENT', '(\SEEN)') print 'add ' + name gmail.close()
折角なので標準ライブラリだけでやってみたので
Windows でも Mac でも *nix でも動くよ!!
cron とかで 10分 に一回実行すると良いかも。
ちなみに、addしたかどうかの管理を未読、既読でやっているので
Gmail のフィルタで noreply@twitter.com のメールを「Skip the Inbox」だけしておいたほうが
良い感じ
-
-
-
- -
-
-
追記
followもGETだとapi制限にひっかかるっぽいので
POSTに変更してみた