※ ChatGPTを利用し、要約された質問です(原文:テキストの自動収集について)
テキストの自動収集について
このQ&Aのポイント
perl言語を使用してokwaveのカテゴリごとにテキストを収集しています
カテゴリ「ビジネス」内のテキストを収集しているコードがありますが、カテゴリ「プログラム」のテキストを収集する場合に問題が発生しています
csvファイルが0kbのままでテキストを収集することができません
perl言語を使用してokwaveのカテゴリごとにテキストを収集しています。
カテゴリ「ビジネス」内のテキストは以下のコードで収集していました。
use Encode::Guess;
use LWP::UserAgent;
use HTTP::Request;
use Encode;
open(OUT, ">>java.csv");
for (my $i=20; $i<200; $i+=20){
our $url = "http://okwave.jp/205/221/c253_$i.html";
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
my $content = $res->content;
while ($content =~ m/<a href=\"\.\.\/(qa[0-9]+\.html)\">/g){
my $ua = LWP::UserAgent->new;
my $req = HTTP::Request->new(GET => 'http://okwave.jp/'.$1);
my $res = $ua->request($req);
my $content = $res->content;
@qa1 = ();
@qa2 = ();
for (my $i=0; $i<2; $i++){
$content =~ m!<span class=\"_LSUCS\">(.*?)</span>!sg; #Q&AタイトルとQ本文
$a = $1;
$a =~ s/\r\n//g;
$a =~ s/<br \/>//g;
$a =~ s/,//g;
push (@qa1,$a);
}
while ($content =~ m!rowspan(.*?)</span>.*?どんな人:(.*?)<br/>!sg){
$b = $1;
$c = $2;
$b =~ s/(=\"3\".*?LSUCS\">)//sg;
$b =~ s/\r\n//g;
$b =~ s/<br \/>//g;
$b =~ s/,//g;
push @qa2,$b;
push @qa2,$c;
}
$qa1 = join ',',@qa1;
$qa2 = join ',',@qa2;
$qa = "$qa1,$qa2\n";
print OUT $qa;
}
}
close OUT;
カテゴリ「プログラム」内のテキストを収集する際抽出カテゴリの
アドレス部分のみ「プログラム」のurlに書き換えたところ
csvファイルが0kbのままでテキストを収集することができません。
よろしくお願いします。
お礼
ご回答ありがとうございます。 「ビジネス」と「プログラミング」の2つのカテゴリを見比べているのですがマッチしてない部分の違いがどうしてもわかりません。 まことに申し訳ないです。