Thread [WWW::Mechanize] Kann Link nicht extrahieren (8 answers)
Opened by Ionit at 2014-09-20 11:34

Ionit
 2014-09-20 11:34
#177399 #177399
User since
2006-05-16
81 Artikel
BenutzerIn
[default_avatar]
Hallo Freunde,

ich habe gestern an meinem Spider gecodet und wollte den Linktext einiger Links mit WWW::Mechanize extrahieren.

Leider war mir das nicht möglich da $mech->find_link () bzw. $mech->find_all_links() nicht funktioniert wenn man css-Klassen zum auffinden verwendet.

In der Beschreibung http://search.cpan.org/~ether/WWW-Mechanize-1.73/l... steht, dass man das so schreibt.

$mech->find_link ( class => string )
$mech->find_all_links( class => string )

Wenn meine Klasse nun "testklasse" heißt, schreibt man ...
$mech->find_link ( class => 'testklasse' )
$mech->find_all_links( class => 'testklasse' )

Aber leider findet WWW::Mechanize den Link einfach nicht.

Verwende ich $mech->find_all_links() ohne spezielle Klassenangabe, werden mir alle Links angezeigt.

Ich habe dann einfach mal eine html-Seite - mit einem einzigen Link angelegt.
Testseite

Mein Script lautet dann folgendermaßen


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

use warnings;
use strict;
use WWW::Mechanize;

my $mech = WWW::Mechanize->new();
$mech->timeout(30);
$mech->agent_alias('Windows Mozilla');
$mech->get('http://www.lirix.de/unbenannt.html');

my $test = $mech->find_link( class => 'testklasse' );
say $test;

#ODER

for my $test2 ($mech->find_all_links(class => "testklasse")) {
say $test2->text;
}
}


Die Variable ist aber immer leer - es ist nichts zu machen - WWW::Mechanize findet die Links nicht - egal wo ich es versuche [ich habe das bei mehreren URLs getestet].

Habt ihr auch dieses Problem oder mache ich hier etwas falsch?


Danke und Gruß
Matthias

modedit Editiert von GwenDragon: Titel geändert
Last edited: 2014-09-20 13:39:12 +0200 (CEST)

View full thread [WWW::Mechanize] Kann Link nicht extrahieren