Changeset 34879 for lang/perl/Acme-Idols-JapaneseGravure
- Timestamp:
- 08/16/09 19:59:15 (4 years ago)
- Location:
- lang/perl/Acme-Idols-JapaneseGravure/trunk
- Files:
-
- 3 added
- 1 modified
-
lib/Acme/Idols/JapaneseGravure (added)
-
lib/Acme/Idols/JapaneseGravure.pm (modified) (3 diffs)
-
lib/Acme/Idols/JapaneseGravure/Idol.pm (added)
-
t/02_idol.t (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Acme-Idols-JapaneseGravure/trunk/lib/Acme/Idols/JapaneseGravure.pm
r34354 r34879 4 4 use URI; 5 5 use Web::Scraper; 6 use Acme::Idols::JapaneseGravure::Idol; 6 7 7 8 our $VERSION = '0.01'; … … 20 21 warn "wait...\n"; 21 22 my $urls = $self->_scrape_url_list(); 22 my @all_ names;23 my @all_idols; 23 24 for my $url ( @$urls ) { 24 my $ names = $self->_scrape_name( $url );25 push( @all_ names, @$names );25 my $idols = $self->_scrape_idol( $url ); 26 push( @all_idols, @$idols ); 26 27 } 27 return \@all_ names;28 return \@all_idols; 28 29 } 29 30 … … 38 39 } 39 40 40 sub _scrape_ name{41 sub _scrape_idol { 41 42 my ( $self, $url ) = @_; 42 43 my $scraper = scraper { 43 process "div#mw-pages li a", 'names[]' => 'TEXT'; 44 process "div#mw-pages li a", 'links[]' => { 45 name => ['@title',sub { $_ =~ s/(?:\(.*\))$//g; $_=~ s/\s//; } ], 46 url => '@href', 47 }; 44 48 }; 45 my $uri = URI->new( $url ); 46 my $res = $scraper->scrape( $uri ); 47 my @names; 48 for my $name ( @{ $res->{names} } ){ 49 $name =~ s/(?:\(.*\))$//g; 50 push( @names, $name ); 49 my $uri = URI->new($url); 50 my $res = $scraper->scrape($uri); 51 my @idols; 52 for my $link ( @{ $res->{links} } ) { 53 push( 54 @idols, 55 Acme::Idols::JapaneseGravure::Idol->new( 56 url => $link->{url}, 57 name => $link->{name} 58 ) 59 ); 51 60 } 52 return \@ names;61 return \@idols; 53 62 } 54 63
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)