Ich habe Schwierigkeiten, Daten von einer bestimmten Webseite abzurufen, weil das Datum anscheinend ein Argument ist, das an eine Javascript-Funktion übergeben wird. In der Vergangenheit habe ich einige einfache Scraper geschrieben, ohne größere Probleme, daher habe ich keine Probleme erwartet, aber ich habe Schwierigkeiten damit. Die Seite hat 5-6 Daten im regulären JJJJ/MM/TT-Format wie dieses dateFormat('2012/02/07')
Am liebsten würde ich alles außer den halben Dutzend Daten entfernen, die ich in einem Array speichern möchte. Zu diesem Zeitpunkt kann ich nicht einmal erfolgreich ein Datum abrufen, geschweige denn alle. Es handelt sich wahrscheinlich nur um einen fehlerhaften regulären Ausdruck, den ich bereits so lange ansehe, dass ich keinen mehr erkenne.
Q1. Warum erhalte ich keine Übereinstimmung mit dem unten stehenden regulären Ausdruck?
Q2. Im Anschluss an die obige Frage, wie kann ich alle Daten in ein Array abrufen? Ich dachte daran, anzunehmen, dass es x Anzahl von Daten auf der Seite gibt, x Mal durch eine Schleife zu iterieren und in jeder Schleife die erfasste Gruppe einem Array zuzuweisen, aber das erscheint recht umständlich.
Im Folgenden folgt der Problemcode.
#!/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/; # erhalte jedes Datum, ohne auf Gier etc. zu achten