かずきち。の日記

サーバサイドエンジニアのつぶやき

pymixiに追加メソッドを作ったよ

pymixiというモジュールは便利です。
Pythonmixiが使えるようにしてくれるます。
しかし基本的なメソッドしかないので、DBと組み合わせてガンガン使おうとするとまだまだ不十分です。
今回はすでにメッセージ送信済みの人のmixiIDとニックネームを抽出して返すメソッドを作りましたので、配布しますよw

    def send_message(self):
        """
        送信箱内のメッセージを取得するメソッド。
        mixiidとnicknameを返してくれます。
        """
        for n in range(1,2):
            u = "list_message.pl?page="+str(n)+"&box=outbox"
            soup = self._get_soup(u)
            trs = soup.find("table", {"class": "tableBody"}).findAll("tr")
            result = []
            for tr in trs:
                tds = tr.findAll("td")
                aa = tr.find("a")
                
                v = aa['href']
                soup2 = self._get_soup(v)
                #print soup2
                dds = soup2.findAll("dd")
                for dd in dds:
                    aa = dd.find("a")
                    if aa != None:
                        mixiid = re.sub("show_friend.pl\?id=","",aa['href'])
                        nickname = aa.renderContents()
                        
                        #print nickname
                        #print mixiid
                        
                item = {}
                item["nickname"] = nickname
                item["mixiid"] = mixiid
                result.append(item)

        return result


きちんとトランザクション間に時間を設けて、良識の範囲で使いましょう。
ところではてな記法でどうやってfor文の部分とかでインデントするんだろう??