Perl Regexp matcht nicht wie erwartet :(
Hanna
- perl
Hallo Zusammen,
bin blutige Perl-Anfängerin, wenig RexExp-erfahren und brauche Hilfe. Folgendes Script mit RegExp matcht leider nicht mit dem h2-Tag auf der Websseite, die ich crawlen will:
------------------
use strict;
use warnings;
use LWP::Simple;
sub get_html {
return get('http://www.emeraldinsight.com/Insight/viewContainer.do;jsessionid=4F88F415487DF5FA0ACAC457D41C38FE?containerType=Issue&containerId=15002973');
}
my $html = &get_html();
$html =~ m/<h2.*>(.+)<\/h2>/;
my $h2Title = $1;
print $h2Title;
-----------------
Das h2-Tag aus der Seite ist folgendermaßen aufgebaut:
-----------------
<h2 class="inline">
Volume 28
Issue 2
<br />
</h2>
-----------------
Ich habe auch folgende Variante versucht, leider erfolglos:
$html =~ m/<h2.*?>(.+)<\/h2>/; # non-greedy
$html =~ m/<h2 class="inline">(.+)<\/h2>/;
$html =~ m/<h2 class=\"inline\">(.+)<\/h2>/;
-----------------
Ich erhalte immer die Meldung:
"Use of uninitialized value $h2Title in print at match.pl line 14."
Hilfe, was mache ich falsch?? :)
Danke und liebe Grüße, Hanna
Hi,
Folgendes Script mit RegExp matcht leider nicht mit dem h2-Tag auf der Websseite, die ich crawlen will:
Die Erlaubnis dazu hast du vorliegen?
$html =~ m/<h2.*>(.+)</h2>/;
Das h2-Tag aus der Seite ist folgendermaßen aufgebaut:
<h2 class="inline">
Volume 28
Issue 2
<br />
</h2>
Du hast übersehen, dass der Punkt . per Default keine Zeilenumbrüche matched.
MfG ChrisB
Die Erlaubnis dazu hast du vorliegen?
Ja, das ist für eine Hausarbeit :)
Du hast übersehen, dass der Punkt . per Default keine Zeilenumbrüche matched.
Danke Dir!!! /s hilft
LG Hanna