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
#!/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/