Show
Ignore:
Timestamp:
11/24/07 09:02:17 (7 years ago)
Author:
tokuhirom
Message:

CommentGetter: get author/date information from livedoorblog.

Location:
lang/perl/WWW-CommentGetter/trunk/WWW-CommentGetter
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/WWW-CommentGetter/trunk/WWW-CommentGetter/lib/WWW/CommentGetter/Plugin.pm

    r1949 r1950  
    4343        my $s = {}; 
    4444        while (my ($key, $local_xpath) = each %{$siteinfo->{attributes}}) { 
     45            my $subattr = ''; 
     46            if ($local_xpath =~ s/^substring\(([^,]+)([,\s\d]+)\)$/$1/) { 
     47                warn "SUB!!"; 
     48                $subattr = $2; 
     49            } 
    4550            warn "get $key by $local_xpath" if $ENV{DEBUG}; 
    4651            my $xpath = join '', $siteinfo->{context}, "[$cnt]", $local_xpath; 
    47             $s->{$key} = as_text($tree->findnodes($xpath)->[0]); 
     52            if ($subattr) { 
     53                $xpath = "substring(string($xpath)$subattr)"; 
     54            } 
     55            warn $xpath if $ENV{DEBUG}; 
     56            if ($subattr) { 
     57                $s->{$key} = trim($tree->findvalue($xpath)); 
     58            } else { 
     59                $s->{$key} = as_text($tree->findnodes($xpath)->[0]); 
     60            } 
    4861        } 
    4962        push @$stash, $s; 
  • lang/perl/WWW-CommentGetter/trunk/WWW-CommentGetter/lib/WWW/CommentGetter/Plugin/SiteInfo.pm

    r1949 r1950  
    3131    }, 
    3232    { 
    33         url     => '^http://blog.livedoor.jp/.*', 
    34         context => '//div[@class="comments-body" or @class="commenttext"]', 
    35         attributes => { body => '/text()', }, 
     33        url        => '^http://blog.livedoor.jp/.*', 
     34        context    => '//div[@class="commentttl"]', 
     35        attributes => { 
     36            author => 'substring(/text(), 14)', 
     37            date   => '/span', 
     38            body   => '/following-sibling::div[@class="commenttext"][1]' 
     39        }, 
    3640    }, 
    3741    { 
  • lang/perl/WWW-CommentGetter/trunk/WWW-CommentGetter/t/01_basic.t

    r1934 r1950  
    2626--- expected 
    2727- 
     28  author: トオリスガリ 
     29  date: 2007年10月22日 02:08 
    2830  body: コンニチハ 
    2931- 
     32  author: boofy 
     33  date: 2007年10月22日 02:27 
    3034  body: ぶうふぃい 
    3135