面白そうなスクリプトを見つけたので試してみた。
はてなブックマークのお気に入り候補を見つけるPerlスクリプト/楽
が、途中でエラーになった。
1
2
|
Not Found
Can not parse [http://b.hatena.ne.jp/entry/rss/http://d.hatena.ne.jp/amatubu/20090322#p1].
|
ソースを見たら、XML::Feedでエラーになったら死ぬ事になっていたが、まあ、飛ばすだけでいいだろうと言うことで、適当に改造して使った。
結果はこんな感じ。
1
2
3
4
5
6
7
8
9
10
|
001 : 017 : otsune : http://b.hatena.ne.jp/otsune/
002 : 017 : lapis25 : http://b.hatena.ne.jp/lapis25/
003 : 015 : typewhite : http://b.hatena.ne.jp/typewhite/
004 : 013 : charsbar : http://b.hatena.ne.jp/charsbar/
005 : 012 : miyagawa : http://b.hatena.ne.jp/miyagawa/
006 : 011 : naoya : http://b.hatena.ne.jp/naoya/
007 : 011 : hide-K : http://b.hatena.ne.jp/hide-K/
008 : 010 : jazzanova : http://b.hatena.ne.jp/jazzanova/
009 : 009 : bayashi_net : http://b.hatena.ne.jp/bayashi_net/
010 : 009 : tomisima : http://b.hatena.ne.jp/tomisima/
|
少し新しい世界が見えた気がします。
パッチは以下のとおり。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
Index: early-hatena-bookmarkers.pl
===================================================================
--- early-hatena-bookmarkers.pl (リビジョン 31631)
+++ early-hatena-bookmarkers.pl (作業コピー)
@@ -68,8 +68,11 @@
my @my_bookmarks;
for my $rss_url (@my_rss) {
- my $feed = XML::Feed->parse( URI->new($rss_url) )
- or die XML::Feed->errstr. "\nCan not parse [$rss_url].\n";
+ my $feed;
+ unless ($feed = XML::Feed->parse( URI->new($rss_url) ) ) {
+ warn XML::Feed->errstr. "\nCan not parse [$rss_url].\n";
+ next;
+ }
for my $item ($feed->entries) {
push @my_bookmarks, '<http://b.hatena.ne.jp/entry/rss/>'. $item->link;
@@ -90,8 +93,11 @@
my %users;
for my $url (@bookmarks) {
- my $rss = XML::Feed->parse( URI->new($url) )
- or die XML::Feed->errstr. "\nCan not parse [$url].\n";
+ my $rss;
+ unless ( $rss = XML::Feed->parse( URI->new($url) ) ) {
+ warn XML::Feed->errstr. "\nCan not parse [$url].\n";
+ next;
+ }
my $me = 0;
for my $item ($rss->entries) {
|