2007年09月27日

はてブ全表示するスクリプトの続き このエントリーをはてなブックマークに追加

こんにちは、鈴木おさむです(嘘です)。
りょーちの駄文と書評:ユーザのはてなブックマークを全表示するスクリプトを作ってみたのだが、はてブユーザのブックマークの表示形式が「件数別表示」ではなく「日付別表示」になっているときは上手く動作しないっす。

はてなブックマーク全表示 では下記のよーなロジックではてブのエントリーを取得してます。

  1. はてブユーザ名を入力
  2. ユーザ名からはてブのURIを取得
  3. 取得した URI から php の TIDY 関数を利用し、 class="pager" の TIDY node を取得
  4. 取得した node 内にある A タグの href 属性を取得し配列に格納(これで全てのページのURIが分かる)
  5. 上記のhref属性から各ページのURIにアクセスし A タグの class="bookmark" を取得し、配列に格納
  6. 結果を表示

って感じなのだ。

で、感のよい方はお分かりだと思うが、日付別表示の場合、class="pager"の取得が上手くいかないので多分トップページのみの結果が表示されることになるだろう。

うーむ、理屈としては実装できなくもないが、全てのはてブエントリーページにアクセスしないと情報が取得できないため、ロジックは変更可能だが、実装時に問題が起こる。
それは日付毎のページに毎回アクセスする必要があるため、ネットワークのトラフィックがかなり増大することになる。

うーむ、なかなか難しいね。


posted by りょーち | Comment(2) | TrackBack(0) | Web周辺技術
この記事へのコメント
はじめまして、ちょくちょく拝見しています。
ところで、はてブのフィードにはページング機能がついているので、そちらを利用されてはいかがでしょうか。
http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF%A5%D5%A5%A3%A1%BC%A5%C9%BB%C5%CD%CD
Posted by slx at 2007年09月29日 20:51
sixさん、こんにちは。りょーち@管理人です。コメントいただきましてありがとうございます。

>ちょくちょく拝見しています
そ、そーですか。くだらない話題が多くで恐縮です(^^;

はてブのページング機能は確かに使えそうですね。
ただ、今気づいたのですが id:naoya さんなどは、
http://b.hatena.ne.jp/naoya/atomfeed?of=5000
と、とんでもなくブックマークされているよーなので、そうすると、5000回スクリプトを呼ばなきゃいけないってことなんですねぇ・・・orz

うーむ、そもそも何かりょーちのポリシーが間違っているよーな気がしてきました。

アドバイスいただきましてありがとうございます。
ではでは。

30件くらいまでは一度に読むことができそうなので、
Posted by りょーち at 2007年10月01日 09:19
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。