Greeコミュニティページをスクレイピングする

Greeコミュニティページの解析メモです。
例:アイドルマスター ミリオンライブ!の場合

コミュニティトップ

コミュニティトップのURLは、以下の形式になっている

http://gree.jp/community/4388820



4388820がコミュニティID。
これはアプリIDとは別の値になる(ちなみにアイドルマスターのアプリIDは58737)

コミュニティページは、Greeにログインしないと表示されない
コミュニティページ内には複数のトピック(スレッド)が存在している
トピックは最新書き込み順でソートされている

トピック一覧ページ


コミュニティトップ:もっと見る(トピック一覧)のURL

http://gree.jp/?mode=community&act=bbs_list&community_id=4388820



コミュニティトップ:もっと見る の2,3ページ目のURL

http://gree.jp/?mode=community&act=bbs_list&community_id=4388820&offset=20&limit=20
http://gree.jp/?mode=community&act=bbs_list&community_id=4388820&offset=40&limit=20



offsetでページ数を制御している。
limitは20から19や21に変更してもページあたりの件数が変わらないので、利用されていない模様
ページング処理は常に1ページ当たり20件となる。

なので、1ページづつ順に見て行きたい場合はoffsetを20づつ加算していけばよい。

最終ページか否かは、div.paging_exタグがあるか否かで判定できる。
具体的には、以下の様な感じになり、最後まで入ってしまうとdiv.topic_listタグの中身が空になる

最終ページで無い場合

<div class="content topic_list">
    <div class="paging_ex">
    ..
    </div>
</div>



最終ページの場合

<div class="content topic_list"></div>






コミュニティ内の各トピック


トピックページのURL

http://gree.jp/?mode=community&act=bbs_view&thread_id=59763335


コミュニティ内の各トピックは一意のidが振られている
トピック内の書き込みは最大1000件までとなっている


2ページ目のURL

http://gree.jp/?mode=community&act=bbs_view&thread_id=59763335&offset=20&limit=20#comment-list


2ページ目以降はコミュニティトップと同様、offset,limitで場所管理されている。
ただ、こちらはトップと異なりlimitの値が有効なので、limitを1000にすれば全書き込みが一度に取得できる。


トピック内の書き込み


各スレッド内の書き込みはfeedと呼ばれており、1件のfeedは下記の構造になっている

<li class="feed clearfix" id="#feed_id#">
    <div class="portrait-48">
        <a href="#gree_user_home#" class="portrait-25">
            <img src="#gree_avator_image_url#" alt="#gree_user_id#">
        </a>
    </div>
    <div class="item">
        <strong><a href="#gree_user_home#">#gree_user_id#</a></strong>
        <div class="shoulder">
            &nbsp;
            <span class="timestamp">#feed_insert_time#</span>
        </div>
        #feed_message#
 
    </div>
</li>



上記タグのうち、下記の箇所が可変部となっている

#feed_id#
#gree_user_home#
#gree_avator_image_url#
#gree_user_id#
#feed_insert_time#
#feed_message#

関連記事

コメントを残す

メールアドレスが公開されることはありません。