Thread Webseite spidern (war: Kan man das so machen? 2) (2 answers)
Opened by rk-ger at 2006-08-29 01:14

rk-ger
 2006-08-29 01:14
#69337 #69337
User since
2006-08-07
45 Artikel
BenutzerIn
[default_avatar]
Hallo,

noch ne Frage.

In der Aufgabe geht es darum, eine Webseite zu spidern und eine ganz bestimmt Tabelle rauszuholen.

Das klappt auch, aber gibt es eine bessere Methode die Whitespaces und Newlines links und rechts wegzuschneiden? Ich halte meine Methode für langsam.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use strict;
use warnings;
use HTML::TableExtract; #für die tabelle
use LWP::Simple (); #um die html seite zu holen

my $URL = "http://www.example.com/foo/bar";

my $data = LWP::Simple::get($URL) or die "Side unable to get";


my $te = HTML::TableExtract->new( headers => [qw(Nummer Status-Nr. Datum Zeit Bemerkung Statustext Text2)] );
$te->parse($data);

foreach my $ts ($te->tables) {
foreach my $row ($ts->rows) {
foreach my $lvar (@$row) {
$lvar =~ s/^\s*(.*?)\s*$/$1/; # strip whitespace and newlines
}
print join(',', @$row), "\n";
}
}


Und habe ich eine Möglichkeit, die objektorientierte Schreibweise (z. B. $ts->rows) zu umgehen? Dieses ganze Thema 'objektorientiert' empfinde ich als umständlich und sinnlos. Ich weiss, das ich mit dieser Meinung ziemlich alleine dastehe (und wahrscheinlich ist sie falsch) aber bisher konnte mir noch niemand die Sinnhaftigkeit dieses Programmierstils näher bringen. Aus dem Grund habe ich auch einen früheren Versuch Java zu lernen wieder aufgegeben.

Gruß
Richard

View full thread Webseite spidern (war: Kan man das so machen? 2)