No Programming, No Life

プログラミング関連の話題や雑記

はてなハイクをHTMLで解析(スクレイピング)するための下準備

どうもはてなハイクAPIの方では100ページまでという制限がかかってしまっているようなので、ページ数が大きくなるとAPI経由では解析できないようである。
そこで、HTMLを自力でスクレイピングするしかなくなるわけだが、その際、余分な情報はなるべく少ない方が助かる。
はてなハイクではPager*1を採用しているため、データ部分だけを取得するためのURLが以下のようになっているようである。

パブリックタイムラインの情報 (サンプル)
http://h.hatena.ne.jp/.body?page=【ページ数】
アルバムタイムラインの情報 (サンプル)
http://h.hatena.ne.jp/album.body?page=【ページ数】
フレンドタイムラインの情報 (サンプル)
http://h.hatena.ne.jp/【ID】/following.body?page=【ページ数】
ユーザタイムラインの情報 (サンプル)

パラメータ:mode=hotを付ける人気順になります。

http://h.hatena.ne.jp/【ID】/.body?page=【ページ数】
IDタイムラインの情報 (サンプル)

パラメータ:mode=hotを付ける人気順になります。

http://h.hatena.ne.jp/target.body?word=id:【ID】&page=【ページ数】
ホットユーザタイムラインの情報 (サンプル)

パラメータ:mode=hotを付ける人気順になります。

http://h.hatena.ne.jp/【ID】/.body?mode=hot&page=【ページ数】
キーワードタイムラインの情報 (サンプル)
http://h.hatena.ne.jp/target.body?word=keyword:【キーワード】&page=【ページ数】
ホットキーワードタイムラインの情報 (サンプル)

パラメータ:mode=hotを付ける人気順になります。

http://h.hatena.ne.jp/target.body?mode=hot&word=keyword:【キーワード】&page=【ページ数】
アルバムキーワードタイムラインの情報 (サンプル)

パラメータ:mode=albumを付けとアルバム表示になります。

http://h.hatena.ne.jp/target.body?mode=album&word=keyword:【キーワード】&page=【ページ数】
URLキーワードタイムライン (サンプル)
http://h.hatena.ne.jp/target.body?word=【URL】&page=【ページ数】
ホットURLキーワードタイムライン (サンプル)

パラメータ:mode=hotを付ける人気順になります。

http://h.hatena.ne.jp/target.body?mode=hot&word=【URL】&page=【ページ数】
キーワードリストの情報 (サンプル)
http://h.hatena.ne.jp/keywords.body?word=【検索文字列】&page=【ページ数】


上記のキーワードリストの情報以外は、いずれもページ数のパラメータを省略した場合は1ページ目の20件を表示する。
キーワードリストの情報は1ページ目の50件を表示する。

追記

  • 2009-12-06 IDタイムラインの情報を追加しました。ユーザタイムラインの情報取得時にも、mode=hotが使える旨を追加しました。

*1:▼ボタンを押すとAJAXで同じページに内容をロードするあれ