日付は明らかにjavascript関数に渡される引数であるため、特定のWebページから日付を取得するのに問題があります。私は過去に大きな問題のないいくつかの簡単なスクレーパーを書いたので、問題は予想していませんでしたが、これに苦労しています。このページには、このdateFormat( '2012/02/07')のような通常のyyyy / mm / dd形式の5〜6の日付があります
理想的には、配列に保存したい半ダースの日付を除くすべてを削除したいと思います。現時点では、すべての日付は言うまでもなく、1つの日付を取得することすらできません。おそらく、私がこれ以上見つけることができないほど長い間それを探していたのは、単なる不正な正規表現です。
Q1。以下の正規表現と一致しないのはなぜですか?
Q2。上記の質問に続いて、どのようにしてすべての日付を配列にスクレイプできますか?ページ上の日付をx個と想定し、ループをx回実行し、キャプチャしたグループをループごとに配列に割り当てることを考えていましたが、それはかなり不格好なようです。
問題コードは次のとおりです。
#!/usr/bin/perl -w
use strict;
use LWP::Simple;
use HTML::Tree;
my $url_full = "http://www.tse.or.jp/english/market/STATISTICS/e06_past.html";
my $content = get($url_full);
#dateFormat('2012/02/07');
$content =~ s/.*dateFormat\('(\d{4}\/\d{2}\/\d{2}\s{2})'\);.*/$1/; # get any date without regard to greediness etc