2ちゃんねるのDTPエキスパート認証試験スレッドを問毎に分類してテキスト書き出すスクリプト
スポンサードリンク
(2006-03-23 6.29修正)
M.C.P.C.: 今回のDTPエキスパート更新試験は、問題冊子が数種類あるとのこと
のとおり、問題冊子に種類があるようですので、今回(25期試験と同時に行われる更新試験)の更新試験ではこのスクリプトは使えません。ざんねんでした。
~~~
どうせやるならこういうの作りましょ。
#!/usr/bin/perl -w #filename: expert.pl #usage: > perl expert.pl 2.txt use strict; use Encode; use encoding "cp932", Filter => 1; use open ":encoding(cp932)"; binmode STDOUT, ":encoding(cp932)"; binmode STDERR, ":encoding(cp932)"; my @スレッド; my %問; my $レス数 = 0; my $f = 0; while(<>) { $f = 1 if $_ eq "\n"; $f = 2 if (($_ eq "\n") && ($f == 1)); if (($f == 2) && ($_=~m/(\d+) :.*/o)) { $f = 0; ++$レス数; } $スレッド[$レス数] .=$_; } for ( my $i = 1; $i <= $レス数; $i++ ) { (my $レス = $スレッド[$i]) =~s/\n//g; $レス=~tr/0123456789/0123456789/; if ($レス =~m/.*(問[\d]+).*/o) { my $問番号=$1; # print "$問番号\n"; # system('pause'); $問{"$問番号"} .= $スレッド[$i]; } } foreach my $key ( sort keys %問 ) { my $filename = $key; $filename = encode("cp932", $filename); utf8::decode($filename); open FH,">$filename.txt"; print FH "【$key】\n"; print FH "$問{$key}\n"; }
Win32、ActivePerl 5.8.6 で確認したよ。
新規フォルダを用意してその中に上記スクリプトを入れて、IEで該当スレッドをコピペして、2.txt というテキストファイルで保存したやつを同じフォルダに入れて、このスクリプトで処理すると、一応それぞれの問いごとに言及した発言が同じフォルダに書き出されますよきっと。
▲問毎に分類されました
正直言うと、ものすごい欠点があるのわかっているんですけれども、誰か直してくれないかな。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1315
コメントする