- blogs:
- cles::blog
« mixiが招待制を廃止 :: さくらの専用サーバプランの料金が改定に »
2008/11/28

mixiの更新内容をメーラーでチェックする


mixiも毎日チェックするのが億劫になってきたというか仕事の合間にチェックすると目立つので、なんとかメーラーでチェックする方法がないものかと調べてみると、mixi2gmail.rbというおあつらえ向きのrubyスクリプトを見つけました。スクリプト名はGmailとついていますが、基本的にはメールボックスであればどこにでも配送することができます。
mixi2gmail WWW::Mechanize 0.7.5/Hpricot 対応版 - World Wide Walker
挙動としては、基本的に Linux 前提で、~/.mixi/mixirc に幾つか設定を入れて実行すると、友達の日記を画像を含めて(添付として)指定したメールアドレスに 1日記 1 HTML メールとして送信する。次回実行は新しいものだけを対象にし、また除外リスト、ウォッチリストなどの設定も出来る。
WWW::Mechanize は以前にも書いたが、ログインが必要なウェブサービスからコンテンツを持ってくるなんて言う用途には手軽で便利だ。Hpricot は Htree を改良したっぽいコンセプトだが、そこそこ高速になっているし、non well-formed な HTML 相手に Xpath や css 指定が出来るのは便利。
注意点としては、サイトにも記述があるとおり初回起動時はものすごく重い+メモリを食うので、友人の直近の日記のidを調べて、~/.mixi/lastid.logにぶち込んでおくのは必須だと思います。迂闊にもこれを忘れて起動してしまったため、サーバがswapしまくりで大変でした。
† MIMEヘッダがおかしいのでメーラーによっては添付ファイルが認識されないかも
どうもThunderbirdではうまくMIMEパートが認識されなくて、HTMLメールとして認識されないわ、画像が見れないわで困りました。ヘッダを詳しく調べてみたらメールヘッダにContent-Typeがついていて、それがbodyのMIMEパートを認識させないようにしているようだったので、Content-Typeは各MIMEパートにつけるようにしました。あとcronで自動実行することが前提なので、容量が大きくなるhttpアクセスのログが出力されないようにしました。参考までに、diffを貼っておきます。
--- mixi2gmail.rb.org 2008-04-08 11:17:42.000000000 +0900
+++ mixi2gmail.rb 2008-11-26 11:56:30.000000000 +0900
@@ -210,7 +210,8 @@
end
def login
- @agent = WWW::Mechanize.new {|a| a.log = Logger.new(@logfile) }
+# @agent = WWW::Mechanize.new {|a| a.log = Logger.new(@logfile) }
+ @agent = WWW::Mechanize.new
@agent.user_agent_alias = 'Windows Mozilla'
if ENV['HTTP_PROXY'] then
host, port = ENV['HTTP_PROXY'].split( /:/, 2 )
@@ -317,7 +318,8 @@
content = ''
tmp = text
text = "--#{boundary}\n"
- text << "Content-Type: text/html;\n\n"
+ text << "Content-Type: text/html; charset=ISO-2022-JP\n"
+ text << "Content-Transfer-Encoding: 7bit\n\n"
text << tmp
text << "\n\n"
@@ -348,8 +350,6 @@
Date: #{datetime.rfc2822}
MIME-Version: 1.0
X-ML-Name: mixi
-Content-Type: text/plain; charset=\"iso-2022-jp\"
-Content-Transfer-Encoding: 7bit
#{header}
#{NKF.nkf('-j',text)}
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/2817
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
« mixiが招待制を廃止 :: さくらの専用サーバプランの料金が改定に »
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112054)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110680)
3 . 年次の人間ドックへ(110305)
4 . 2023 年分の確定申告完了!(1つめ)(109854)
5 . 三菱鉛筆がラミーを買収(109751)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110680)
3 . 年次の人間ドックへ(110305)
4 . 2023 年分の確定申告完了!(1つめ)(109854)
5 . 三菱鉛筆がラミーを買収(109751)
cles::blogについて
Referrers