Hatena@Cielquis.Net
Home >> Bookmark >> URITrace

Declaration

class URITrace
    def initialize(path, proxy = nil) # URITrace.new(str, str) -> trace
    def reset()                       # trace.reset() -> trace
    def get(limit = nil)              # trace.get(num) -> arr
    def each(limit = nil)             # trace.each(num) { |str| block } -> trace
end

Overview

Bookmark::URITrace は,指定されたパスのブックマークページへ接続し, ブックマークされている URI の一覧を取得するクラスです.path には, ユーザ ID (e.g., tt_clown, jkondo, naoya, ...),または適当な文字列 (e.g., hotentry, entrylist?threshold=10, ...) を指定します.

get() メソッドは,引数が指定された場合には(最大で)指定された件数分の URI を取得し,その結果を配列で返します.引数が指定された場合は, はてなブックマークへの一度の接続で取得できる件数分の URI を取得します.

each() メソッドは,get() と同様に最大で limit 件数分の URI を取得し,取得したそれぞれの URI をブロックへ渡します.

Example

example_trace.rb

#!/usr/bin/ruby -Ku
require 'hatena'

# get メソッドの引数を省略した場合,何件取得するかははてな側に依存する.
session = Hatena::Bookmark::URITrace.new(ARGV[0])
uris = session.get
puts("Number of URIs: #{uris.length}")
puts

# each メソッド
i = 0
Hatena::Bookmark::URITrace.new(ARGV[0]).each(200) { |uri|
    printf("%2d %s\n", i, uri)
    i += 1
}
Result
Number of URIs: 50

 0 http://www.news2u.net/NRR200841009.html
 1 http://www16.atwiki.jp/tokoroten/pages/1018.html
 2 http://d.hatena.ne.jp/yukoba/20080527/p1
 3 http://www.forest.impress.co.jp/article/2008/11/25/printmagic.html
 4 http://sankei.jp.msn.com/world/america/081205/amr0812051048004-n1.htm

・・・(中略)・・・

195 http://sankei.jp.msn.com/economy/it/081011/its0810111540000-n1.htm
196 http://www.pagerank-jp.thebest25sites.com/pagerank.html
197 http://www.slproweb.com/products/Win32OpenSSL.html
198 http://d.hatena.ne.jp/wizyuyu/20080829/1220010568
199 http://x68000.q-e-d.net/~68user/net/

Reference

  1. Life like a clown - Bookmark::URITrace