2011年11月5日土曜日

11/5 Gmail の内容取得

自分の整理のためのメモ:

Gmail の内容をプログラムで取得しようとしている。
しかも、環境は、MAC でバーチャルでwinを動かして、pythonで。。。
libgmailってのをつかっていけそうだ。
http://sourceforge.net/projects/libgmail/files/

先週の週末:
1。Python インストール & hello world → 完了
  詳細忘れた。
本日:
2。easy_install のインストール →完了 めちゃ便利

   http://pypi.python.org/pypi/setuptools#windows
   からwin版をダウンロード、exeファイルをクリック
     c:¥python27/lib/site-packages/
     c:¥python27/lib/Scripts/
     にパスを通すのを忘れない。
     winのパスは、system-property-詳細設定-環境変数-path
3。mechanizeのインストール →完了
easy_install mechanize で一発

4。libgmailのインストール →完了
easy_install libgmail でこれも一発

5。libgmailのサンプルコード起動 → だめだ
python arch.py
gmailへログイン仕様としたが、
がーん、gmail の仕様変わっているみたいだ。エラーがでる。

is_clean_uri
Type Error: expected string or buffer

って感じのエラーをgoogle先生に聞くと
gmailの仕様ってよく変わるから気を落とすな。
imaplib  か twisted.mail
を試せとある。。。

今日は気力がつきた。
やっぱり、ubuntuってのをいれて、メールサーバたてるのが早いのか?

【追記】
おー。imaplib で実は簡単に未読メール取得できた!サンプルコード乗せておく

import imaplib
mail = imaplib.IMAP4_SSL("imap.gmail.com")
mail.login("○○@gmail.com","○○")
mail.list()
mail.select("Inbox")

#need to add some stuff in here
typ, data=mail.search(None,"(UNSEEN)")
for num in data[0].split():
typ, data=mail.fetch(num,'(RFC822)')
print 'Message %s\n%s\n' % (num,data[0][1])

mail.logout()

これをimapsample.pyとかで保存して
コマンドプロンンプトで
c:¥Python> python imapsample.py > test.txt
とかやればいいわけだ。
やった!

0 件のコメント: