rssとスパム mixiとrss
ブログ初投稿。
読むばかりで書く文化が無いので、続くかわからないけど始めてみる。
RSSリーダというものを最近になって使い始めてみたんだが、便利だね。たまたま見つけたLifereaといいうのを使ってみてる。
便利なんだけど、広告はなんとかならんもんなんだろうか。ちゃんとした広告が表示されるうちは良いんだろうけど、「広告に表示されてるURLに飛んだらマルウェアに感染しました」なんて事がおこらんとも限らん。
なんらかのフィルターをかけられたらと思うんだけど、そういう機能をもったRSSリーダってあるのだろうか?探した限りでは見つけられなかった。似たようなことをサービスとして提供してるWebアプリみたいなのは見つけたんだけど、外だししなきゃ実現できないような機能じゃない気がする。
関係ないが「mixiの更新情報もrssリーダで管理できないか」と思って色々試してみた。
最初は「HTMLをスクレイピングして、rssフィードの形まで落とし込む」ってのを考えてて、「pythonでBeautifulSoupを使って書くかなぁ」と思ってたんだけど、「mixiステーション用にmixiがrssフィードを配信してる」って事に気がついたので、そちらを利用することにした。
まずはrssのURLをリーダに普通に登録してみたんだけど、認証まわりが原因でうまく行かず。認証用のダイアログは出るんだけど、そこに正しい情報を入力しても通らない。
次に、cookieを食わせるのを試してみようと思って、firefox3.0のcookies.sqliteからcookies.txtを作ってlifereaに渡してみたが、こちらもうまく行かず。
しかたないので、rssを取得するところまでをpythonスクリプトで書いて、そのスクリプトをlifereaから呼ぶようにしたらうまくいった。
#!/usr/bin/env python #coding: utf-8 import sys, urllib, urllib2, cookielib def main(): u""" main method. """ # variables username = 'hoge@fuga.foo' # input your username here. password = 'xxxxxx' # input your password here uid = 'xxxxxx' # input your uid here cookie_jar = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar)) params = urllib.urlencode({'email': username, 'password': password, 'next_url': 'home.pl'}) mixi_url = 'http://mixi.jp/' login_url = mixi_url + 'login.pl' new_friend_diary_url = mixi_url + 'atom/updates/r=1/member_id=' + uid + '/-/diary' try : opener.open( login_url , params) rss = opener.open( new_friend_diary_url ).read() rss = rss.decode("utf-8", "ignore").encode("utf-8") print rss except : pass if __name__=='__main__': main() sys.exit(0)
mixiのセッション管理がどうなってるかは良く知らないけど、cookieの扱いなんかはもっとちゃんとした方がベターなのかもしれない。