かずきち。の日記

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

pymixiにさらにメソッドを追加してみた

特定のコミュニティを抽出するメソッドを作成してみました。
このソースをmixi.pyの##internal class method##に追加してください。

    def _get_list_community(self, u, result = None):
        soup = self._get_soup(u)        
        friendDivs = soup.findAll("div", 
                                  {"class": re.compile("^iconState[0-9]*")})
        if not result:
            result = []
            
        for div in friendDivs:
            anc = div.find("a", href=re.compile(r"^show_friend.pl"))
            if not anc:
                continue
            item = {}
            try:
                item["link"] = self._get_absurl(anc["href"])
                item["id"] = self._url_to_ids(item["link"])[0]
                nameContent = div.span.string
                item["name"], item["num"] = self._get_name_and_num(nameContent)
                print item["id"]
                print item["name"]
                result.append(item)
            except:
                print "Error"


さらにこれをmixi.pyの##class method##に追加してください。

    def community_id(self,comid = None):
        """
        指定したコミュニティのマイミクシィ一覧を取得するメソッド。
        成功するとユーザのリストが返ります。
        各ユーザはマップ形式になっていて、
        link, id, name, num
        がキーとなっています。

        link / id は文字列、name は Unicode、num は整数
        となっています。

        comid: マイミクシィ一覧を取得したいコミュニティの ID を文字列で指定します。
        None の場合はエラーになります。
        """
        u = "list_member.pl?id="+comid
        return self._get_list_community(u)


上の2つを利用して、特定のコミュニティのIDを抽出してマーケティングなどに利用してみてください。
コミュニティを分析して、コミュニティ間の相関が取れたりして楽しいです。


自分の足跡を常駐して監視するメソッドも作ったので、また今度アップするかもしれません。
これを使うと…足跡踏まれたら自動的に踏み返すとか無駄なことができますw