Show
Ignore:
Timestamp:
01/10/08 13:09:39 (11 months ago)
Author:
daisuke
Message:

lang/perl/Acme-Actors-JA; change return values

Location:
lang/perl/Acme-Actors-JA/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Acme-Actors-JA/trunk/eg/scrape_details.pl

    r4346 r4347  
    55use URI; 
    66 
    7 my $h = Acme::Actors::JA::Scraper->scrape_actors_jp(); 
     7my $actors = []; 
    88 
    9 foreach my $actor (@{ $h->{actors} }) { 
     9push @$actors, @{Acme::Actors::JA::Scraper->scrape_actress_jp()}; 
     10push @$actors, @{Acme::Actors::JA::Scraper->scrape_actors_jp()}; 
     11 
     12foreach my $actor (@$actors) { 
    1013    Acme::Actors::JA::Scraper->scrape_details($actor); 
    1114    print Dump($actor); 
  • lang/perl/Acme-Actors-JA/trunk/lib/Acme/Actors/JA/Scraper.pm

    r4346 r4347  
    55 
    66package Acme::Actors::JA::Scraper; 
     7use utf8; 
    78use strict; 
    89use warnings; 
     
    3637        ; 
    3738    }; 
    38     $scraper->scrape($uri); 
     39    $scraper->scrape($uri)->{actors}; 
    3940} 
    4041 
     
    4445 
    4546    my $scraper = scraper { 
    46         process "#bodyContent table li>a", 'names[]' => 'TEXT' ; 
     47        process "#bodyContent table li>a", 
     48            'actors[]' => { 
     49                'name'      => 'TEXT', 
     50                'wikipedia' => '@href' 
     51            } 
     52        ; 
    4753    }; 
    48     $scraper->scrape($uri); 
     54    $scraper->scrape($uri)->{actors}; 
    4955} 
    5056 
     
    5460 
    5561    my $scraper = scraper { 
    56         process q|//div[@id = 'bodyContent']/ul[position() > 2 and position() != last()]/li/a|, 'names[]' => 'TEXT' ; 
     62        process q|//div[@id = 'bodyContent']/ul[position() > 2 and position() != last()]/li/a|, 
     63            'actors[]' => { 
     64                'name'      => 'TEXT', 
     65                'wikipedia' => '@href', 
     66            } 
     67        ; 
    5768    }; 
    58     $scraper->scrape($uri); 
     69    $scraper->scrape($uri)->{actors}; 
    5970} 
    6071 
     
    6475 
    6576    my $scraper = scraper { 
    66         process q|//div[@id = 'bodyContent']/ul[position() > 2 and position() != last()]/li/a|, 'names[]' => 'TEXT' ; 
     77        process q|//div[@id = 'bodyContent']/ul[position() > 2 and position() != last()]/li/a|, 
     78            'actors[]' => { 
     79                'name'      => 'TEXT', 
     80                'wikipedia' => '@href' 
     81            } 
     82        ; 
    6783    }; 
    68     $scraper->scrape($uri); 
     84    $scraper->scrape($uri)->{actors}; 
    6985} 
    7086 
     
    8298        process q|//div[@id = 'bodyContent']/p|, 
    8399            'yomi_text' => [ 'TEXT', sub { 
    84                 use utf8; 
    85                 if (m{[\((]([^、 ]+)}) { 
     100                if (m{[\((]([^、 )]+)}) { 
    86101                    $_ = $1; 
    87102                } else { 
     
    93108 
    94109    $actor->{yomi} ||= $detail->{yomi_infobox} || $detail->{yomi_text}; 
    95     $actor->{yomi} =~ s/[ \s]+//g; 
     110    if ($actor->{yomi}) { 
     111        $actor->{yomi} =~ s/[ \s]+//g; 
     112    } 
    96113 
    97114    $actor;