« 日記 |Main| Bootcampの最新記事とMP3を保存するPythonスクリプト »

« キミならどう書く 2.0 - ROUND 1 | Python | Bootcampの最新記事とMP3を保存するPythonスクリプト »

Pythonでmixiにアクセス

MIXI Pythonライブラリ — Emerge Technologyを参考にしましたが、リンク先はログイン処理に問題があってきちんとログインが出来ていないように思われます。

import urllib
import re

class MixiOpener(urllib.FancyURLopener):
    def login(self, email, password):
        LOGIN_URL = "http://mixi.jp/login.pl"
        params = urllib.urlencode({
            "email": email,
            "password": password,
            "next_url":"home.pl"})
        r = self.open(LOGIN_URL, params)
        cookie = []
        for c in r.headers.getheaders("Set-Cookie"):
            m = re.match("(.+=.+);.*", c)
            if m:
                cookie.append(m.groups()[0])

        self.addheader("Cookie", ";".join(cookie))
        r = self.open("http://mixi.jp/check.pl?n=home.pl")
        return r.read()

    def searchDiary(self, keyword):
        SEARCH_URL = "http://mixi.jp/search_diary.pl"
        params = urllib.urlencode({
            "submit": "search",
            "type": "dia",
            "keyword": keyword})
        r = self.open(SEARCH_URL, params)
        return r.read()

m = MixiOpener()
m.login("あなたのメールアドレス", "パスワード")
data = m.searchDiary("(*゚▽゚)")

これで日記検索画面のデータを取得できます。他のURLを開くのもm.open(URL)とやるだけなので簡単ですね。

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/157

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.