Wikipediaから声優名一覧を取ってくるPerlスクリプトv2 (1) 2chを使ったスクリーニング案 - XXXannex
続き。bbemenuをWeb::Scraperでスクレイピングして、「声優個人」のスレタイ一覧を取ってきます。
firstvalとか使っちゃうのは、ある種のR脳なのかもなー。Perl標準の配列操作がまどろっこしくて、foreachとか使うのがめんどくなるんだよね・・・。
use strict; use warnings; use LWP::UserAgent; use Web::Scraper; use List::MoreUtils qw/firstval/; use utf8; my $url_bbsmenu = 'http://menu.2ch.net/bbsmenu.html'; my $request = HTTP::Request->new(GET => $url_bbsmenu); $request->accept_decodable; my $ua = LWP::UserAgent->new; $ua->timeout(10); $ua->agent("Monazilla/1.00"); my $response = $ua->request($request); my $scraper = scraper { process 'a', 'board[]' => { url => '@href', name => 'TEXT', }; result 'board'; }; my $board = $scraper->scrape($response); my $va = firstval { $_->{name} =~ /声優個人/ } @$board; $request->uri($va->{url} . 'subject.txt'); $response = $ua->request($request); print $response->decoded_content;
実行結果
1264398663.dat<>サセ〜千葉紗子 第53話〜ポン (993) 9241005010.dat<>【2ちゃんねる10周年】【1日5分】柿を育ててお試し●ゲット!【携帯・規制・突破】 (2) 9241005704.dat<>■ 作戦名「一羽の鴎」始動 (19) 1251217735.dat<>【夢の方程式】小森まなみ応援スレ◆2【buddy】 (213) 1266323682.dat<>福山潤を語るスレ その25 (247) 1273060218.dat<>丹下桜 Part37 (501) 1274535568.dat<>中村繪里子☆77 (299) 1260397589.dat<>【ロンパリ】堀江一眞本(人)スレ4【チンカスマ】 (375) 1226237835.dat<>名塚佳織アンチスレ (441) 1274710816.dat<>豊崎愛生 Part48 (745) 1269444084.dat<>中原麻衣 Part47 (763)
やったね。
そういや昔のBBSスクリプトはデリミタが"<>"だったよね。なつかしす。
追記
List::Utilにfirstというものがあった。わざわざ非標準のライブラリーを使う必要はなかったな・・・。
List::Util - A selection of general-utility list subroutines - metacpan.org