content;while($html =~ m{<td nowrap>(.*?)</td></tr>}ig) { $str = $1; $str =~ s/<.*?>/ /g; print $...">

Perlで地震情報を取得

/ Perl / Comment[0]
気象庁のHP http://www.jma.go.jp/jp/quake/quake_sindo_index.htmlのソースから地震情報が書かれてる部分を切り取って表示するだけのスクリプト
#!/usr/bin/perl
use LWP;

$ua = LWP::UserAgent->new;
$res = $ua->get("http://www.jma.go.jp/jp/quake/quake_sindo_index.html");
$html = $res->content;
while($html =~ m{<td nowrap>(.*?)</td></tr>}ig) {
$str = $1;
$str =~ s/<.*?>/ /g;
print $str,"\n";
}


出力
$ ./quake.pl
 平成23年12月24日15時16分   24日15時14分頃  震度3
平成23年12月24日11時23分 24日11時21分頃 震度3
平成23年12月22日05時12分 22日05時10分頃 震度3
平成23年12月21日11時09分 21日11時06分頃 震度3
平成23年12月21日11時08分 21日11時06分頃 震度3
平成23年12月21日11時08分 21日11時06分頃 震度3
平成23年12月20日18時13分 20日18時10分頃 震度3
平成23年12月20日15時28分 20日15時26分頃 震度3
平成23年12月20日10時37分 20日10時35分頃 震度3
平成23年12月20日02時26分 20日02時23分頃 震度3
平成23年12月19日23時41分 19日23時40分頃 震度3
平成23年12月19日16時03分 19日16時01分頃 震度3



引数として1を付けて実行すると画像も取得するようにやっつけで強化してみた
#!/usr/bin/perl
use LWP::Simple;
use File::Basename;

$url = 'http://www.jma.go.jp/jp/quake';

$ua = LWP::UserAgent->new;
$res = $ua->get("$url/quake_sindo_index.html");
$html = $res->content;
@info = $html =~ m{<td nowrap>(.*?)</td></tr>}g;
@link = $html =~ m{\d+-\d+.html}g;
foreach(@info){
$str = $_;
$str =~ s/<.*?>/ /g;
print "$str\n";
}
if($ARGV[-1] eq '1'){
foreach(@link){
$res = $ua->get("$url/$_");
$html = $res->content;
@img = $html =~ m{<img src="\.(/images/japan/.*\.png)"}g;
foreach(@img){
print "Downloading... $_\n";
mirror("$url/$_",basename($_));
}
}
}

$ ./quake.pl 1
 平成23年12月24日15時16分   24日15時14分頃  震度3
平成23年12月24日11時23分 24日11時21分頃 震度3
平成23年12月22日05時12分 22日05時10分頃 震度3
平成23年12月21日11時09分 21日11時06分頃 震度3
平成23年12月21日11時08分 21日11時06分頃 震度3
平成23年12月21日11時08分 21日11時06分頃 震度3
平成23年12月20日18時13分 20日18時10分頃 震度3
平成23年12月20日15時28分 20日15時26分頃 震度3
平成23年12月20日10時37分 20日10時35分頃 震度3
平成23年12月20日02時26分 20日02時23分頃 震度3
平成23年12月19日23時41分 19日23時40分頃 震度3
平成23年12月19日16時03分 19日16時01分頃 震度3
Downloading... /images/japan/20111224151611353-241514.png
Downloading... /images/japan/20111224112303353-241121.png
Downloading... /images/japan/20111222051207353-220510.png
Downloading... /images/japan/20111221110940353-211106.png
Downloading... /images/japan/20111221110829353-211106.png
Downloading... /images/japan/20111221110810353-211106.png
Downloading... /images/japan/20111220181356353-201810.png
Downloading... /images/japan/20111220152802353-201526.png
Downloading... /images/japan/20111220103736353-201035.png
Downloading... /images/japan/20111220022609353-200223.png
Downloading... /images/japan/20111219234138353-192340.png
Downloading... /images/japan/20111219160323353-191601.png

$ ls *.png
20111219160323353-191601.png
20111219234138353-192340.png
20111220022609353-200223.png
20111220103736353-201035.png
20111220152802353-201526.png
20111220181356353-201810.png
20111221110810353-211106.png
20111221110829353-211106.png
20111221110940353-211106.png
20111222051207353-220510.png
20111224112303353-241121.png
20111224151611353-241514.png
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可