?

Log in

entries friends calendar profile KazMuzik.net Previous Previous Next Next
Nutch crawldb - Kaz Muzik Blog Backup Project #2 - Kaz Muzik Blog
kazuomik
kazuomik
Nutch crawldb - Kaz Muzik Blog Backup Project #2
$ bin/nutch crawl urls-kazmuzikblog -dir crawl-1 -depth 3
...
$ ls crawl-1
crawldb  index  indexes  linkdb  segments
$

前回は、http://kazuomik.livejournal.com/ から始めて depth 3 まで crawl してみました。結果は、crawl-1 というディレクトリの下にできましたが、昨日書いたように、HDFS (Hadoop Distributed File System) となっているので、Nutch (あるいは Hadoop)のコマンド、または APIを使用しないとアクセスできません。

今回は、nutch のサブコマンドを使ってみます。readdb というサブコマンドにより、crawl-1/crawldb の情報にアクセスできます。-stats オプションで統計的な情報が見れます。また、-dump オプションで、指定したディレクトリの下に part-00000 というテキストファイルをつくり、すべての crawldb の情報をダンプします。今回は、URL だけが必要なので、下記のように grep してみました。
$ bin/nutch readdb crawl-1/crawldb -stats
CrawlDb statistics start: crawl-1/crawldb
Statistics for CrawlDb: crawl-1/crawldb
TOTAL urls:     599
retry 0:        599
min score:      0.0
avg score:      0.0060
max score:      1.155
status 1 (db_unfetched):        374
status 2 (db_fetched):  	196
status 3 (db_gone):     	28
status 4 (db_redir_temp):       1
CrawlDb statistics: done
$ bin/nutch readdb crawl-1/crawldb -dump dump-1
CrawlDb dump: starting
CrawlDb db: crawl-1/crawldb
CrawlDb dump: done
$ grep '^http' dump-1/part-00000 | sort
http://kazuomik.livejournal.com/        Version: 5
http://kazuomik.livejournal.com/)this.value=    Version: 5
http://kazuomik.livejournal.com/10813.html      Version: 5
http://kazuomik.livejournal.com/10813.html?mode=reply   Version: 5
http://kazuomik.livejournal.com/1120.html       Version: 5
http://kazuomik.livejournal.com/1120.html?mode=reply    Version: 5
http://kazuomik.livejournal.com/14229.html      Version: 5
http://kazuomik.livejournal.com/14229.html?mode=reply   Version: 5
...
http://kazuomik.livejournal.com/2006/   Version: 5
http://kazuomik.livejournal.com/2006/09/        Version: 5
http://kazuomik.livejournal.com/2006/09/11/     Version: 5
http://kazuomik.livejournal.com/2006/09/18/     Version: 5
http://kazuomik.livejournal.com/2006/09/20/     Version: 5
...
http://kazuomik.livejournal.com/2007/04/15/     Version: 5
http://kazuomik.livejournal.com/2007/04/15/48929.html   Version: 5
http://kazuomik.livejournal.com/2007/04/15/5503.html    Version: 5
http://kazuomik.livejournal.com/2007/04/15/56897.html   Version: 5
http://kazuomik.livejournal.com/2007/04/15/72535.html   Version: 5
http://kazuomik.livejournal.com/2007/04/16/     Version: 5
http://kazuomik.livejournal.com/2007/04/?.ical=true     Version: 5
http://kazuomik.livejournal.com/20887.html      Version: 5
http://kazuomik.livejournal.com/20887.html?mode=reply   Version: 5
http://kazuomik.livejournal.com/22089.html      Version: 5
http://kazuomik.livejournal.com/22089.html?mode=reply   Version: 5
http://kazuomik.livejournal.com/22483.html?mode=reply   Version: 5
...
http://kazuomik.livejournal.com/8982.html?mode=reply    Version: 5
http://kazuomik.livejournal.com/</table></blockquote>   Version: 5
http://kazuomik.livejournal.com/</tr>   Version: 5
http://kazuomik.livejournal.com/?skip=20        Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=%E3%82%A2%E3%83%A1%E3%83%AA%E3\
%82%AB%E3%81%A7%E3%81%AE%E8%BB%A2%E8%81%B7        Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=%E3%82%A2%E3%83%A1%E3%83%AA%E3\
%82%AB%E7%94%9F%E6%B4%BB        Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=computer+technology Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=music+and+computer Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=music+gear Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=music+technology   Version: 5
http://kazuomik.livejournal.com/?skip=20&tag=programming        Version: 5
http://kazuomik.livejournal.com/calendar/       Version: 5
http://kazuomik.livejournal.com/data/atom       Version: 5
...
http://kazuomik.livejournal.com/tag/%E6%97%A5%E6%9C%AC%E8%AA%9E Version: 5
http://kazuomik.livejournal.com/tag/18310.html  Version: 5
http://kazuomik.livejournal.com/tag/46735.html  Version: 5
http://kazuomik.livejournal.com/tag/48929.html  Version: 5
...
http://kazuomik.livejournal.com/tag/test        Version: 5
http://kazuomik.livejournal.com/tag/useful+link Version: 5
$

depth 3 の crawl で 599個の URL をみつけ、196ページ fetch したことがわかります。dump した URL のリストからは、LiveJournal.com の構成がだいたいわかりますが、tag が含まれているものは、重複するので、今回のバックアップの対象からははずせます。各ブログのエントリは 4桁から、現在は 5桁の数字に .html がついていますが、これは私が明示的に書いたものだけが、link となっています。?mode=reply がついたものは、コメントの送信に対応します。また、2007/04/16 などと日付に対応したものは、ページ右上のカレンダーから得られたものです。

ここで注意したいのは、http://kazuomik.livejournal.com/?skip=20 という URL です。これは、トップページに一番下の Previous をクリックすることにより、最新の 20個のエントリを skip して、以前の 20個のエントリを表示するページです。同様に、マニュアルで Previous をクリックすることにより、?skip=40 , 60, ... と行くのですが、crawldb には反映されていません。depth 3 で crawl したので、2回目には ?skip=20 から ?skip=40 が、3回目には ?skip=40 が fetch されて、?skip=60 が unfetched として出てくるはずです。しかし、crawldb には、?skip=20 しかありません。

つづく

Tags:

コメントの送信