2020年9月8日火曜日

首相動静(1)

 時事通信のページから首相動静を取り出すためにperlプログラムを組んだら,日本語でつまづいた。EUCのままでよかったのだけれどあれこれもがいたため。macの標準ターミナルの漢字コードも,大学のサーバーへのアクセスの都合上EUCコードにしてある。jcode.plは結局不要だった。

lynxで時事通信のJIJI.COMからソースをダウンロードしてfspで改行コードを変換し,nkfでEUCに変換したものを作業ファイルとして保存しておく。作業ファイルから1行づつ取り出して,条件を満たした行にその日の首相動静が格納されているはず。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#!/usr/local/bin/perl
#<!- -------------------------------------- -->
# shusho dousei from jiji dot com news
# 09/09/2020 K. Koshigiri
# % ./shusho.pl month date outfile 
# date = 01...31 etc. (dates of month) - d
# get data from https://www.jiji.com/jc/
#<!- -------------------------------------- -->
\$y="https://www.jiji.com/jc/v2?id=ssds2020";
\$m=@ARGV[0];
\$d=@ARGV[1];
\$f=$y.\$m."_".\$d;
print "\$f \n";

\$out=@ARGV[2];
\$tmp="tmpx.txt";
\$i=0;

open(HP, \$tmp);
system("lynx -source \$f | fsp -u | nkf -e >> \$tmp");
close(HP);

open(IN, \$tmp);
open(OUT, "> \$out");
while(){ $i++; \$a="";
  if(/br/ && /午/ && !/href/) {
    if(/(.*)/) {
      \$a=\$1;
      if(\$i eq 1) { print OUT "\$a \n";}
    }
  }
}
close(OUT);
close(IN);
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

0 件のコメント: