Schrift
[thread]12641[/thread]

Inhalt von Webseite auslesen mit Perl

Leser: 4


<< >> 10 Einträge, 1 Seite
poppei
 2008-10-15 22:10
#115546 #115546
User since
2008-10-15
3 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ich habe ein spezielles Anliegen, das man - wie man mir in einem anderen Forum gesagt hatte - mit Perl lösen können sollte. Leider habe ich noch keine Erfahrung mit Perl, aber im Internet gibt es ja zahlreiche Anleitungen, in die ich mich einarbeiten würde.

Mein Anliegen:
Ziel ist es eine Erreichbarkeitsanalyse für den ÖPNV zu erstellen, wofür ich die Fahrtzeiten von A nach B benötige. Ich habe schon mit OO-Calc eine Tabelle erstellt, die mir auf Grund bereits vorhandener Haltestellennamen die Links für die Abfrage generiert. Und zwar ist es ein Direktlink für bahn.de. Also einmal klicken und schon kommt das Ergebnis (sofern nicht der Name falsch geschrieben ist).
Also habe ich eine Liste mit paar Hundert Links, die ich automatisch z. B. jede Minute an bahn.de senden würde. Jeweils in der ersten Zeile der Ergebnistabelle steht in der vierten Spalte die Fahrtdauer. Die sollte nun ausgelesen und in eine Tabelle/Textdatei geschrieben werden. Möglichst so dass ich es auch dem Link wieder zuordnen kann.

Klingt nicht schwierig, aber ich weiß derzeit nicht, wie ich es umsetzen soll. Man hatte mich auf lwp und www::mechanize hingewiesen, mit dem das gehen sollte.
Nur wie genau sollte ich das Skript vom Ablauf her programmieren? Es reicht eine einfache Textdatei, also ich muss nicht unbedingt mit MySQL arbeiten. Brauche nämlich schnell die Ergebnisse.

Ich hoffe ihr könnt mir Tipps geben.
Herzlichen Dank schon im Voraus!

Poppei

PS: Falls es hilft, ich benutze Linux, d.h. kann mit Bordmitteln arbeiten, z. B. wget, lynx usw...
moritz
 2008-10-15 23:41
#115551 #115551
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
poppei+2008-10-15 20:10:36--
Also habe ich eine Liste mit paar Hundert Links, die ich automatisch z. B. jede Minute an bahn.de senden würde.


Schlags dir aus dem Kopf - Die Bahn will das nicht, es wäre zumindest höchst unfreundlich das zu ignorieren.
poppei
 2008-10-16 00:06
#115554 #115554
User since
2008-10-15
3 Artikel
BenutzerIn
[default_avatar]
Oh... :-( Mist...
Gast Gast
 2008-10-16 13:44
#115563 #115563
Die Robots.txt bedeutet nur, dass sie vom Verzeichnis /bin die Finger lassen wollen.

Browser rufen aber die Auskunft auch über .../bin/query.exe/dn?... ab.

Dann gib dich halt als richtiger Browser im UserAgent aus bei LWP.
pq
 2008-10-16 14:28
#115564 #115564
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Gast+2008-10-16 11:44:14--
Die Robots.txt bedeutet nur, dass sie vom Verzeichnis /bin die Finger lassen wollen.

Browser rufen aber die Auskunft auch über .../bin/query.exe/dn?... ab.

die url lautet http://reiseauskunft.bahn.de/bin/query.exe/dn?...
und das wird für robots verboten. /bin verbieten heisst automatisch alle verzeichnisse und dateien darunter.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Gast Gast
 2008-10-16 15:24
#115568 #115568
Und wieso sollte man keine Informationen mit LWP abrufen dürfen?
Darf nur nicht zu viel pro Sekunde sein.
pq
 2008-10-16 15:38
#115572 #115572
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
naja, verboten ist es nicht. zum einen ist die robots.txt ja eher auf das verbot von indizierung
ausgelegt, dennoch ist so ein script, wie es hier genannt ist, ein bot und sollte laut robots.txt
/bin in ruhe lassen.
solange es nicht in den AGB steht, wird man vermutlich nicht belangt werden können, aber ich
als webmaster würde mich nicht freuen über sowas: "Also habe ich eine Liste mit paar Hundert Links,
die ich automatisch z. B. jede Minute an bahn.de senden würde."
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
poppei
 2008-10-16 20:14
#115588 #115588
User since
2008-10-15
3 Artikel
BenutzerIn
[default_avatar]
Hallo!

Ja, das sollte man wohl akzeptieren... trotzdem scheint sowas mit LWP zu gehen.
nepos
 2008-10-17 10:38
#115595 #115595
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Sicher geht sowas mit LPW und Co. Aber wenn der Anbieter nicht will, dass automatisiert auf seine Seiten zugegriffen wird, dann sollte man das auch beachten!
GwenDragon
 2008-10-17 15:24
#115598 #115598
User since
2005-01-17
14536 Artikel
Admin1
[Homepage]
user image
nepos+2008-10-17 08:38:20--
Aber wenn der Anbieter nicht will, dass automatisiert auf seine Seiten zugegriffen wird, dann sollte man das auch beachten!

Wo stehts das? Das liest du aus der robots.txt?
Dann dürfte ich noch nicht einmal ein Browser-Widget bauen, das mir ohne meine Eingaben eine Verbindung anzeigt.

Das ist wohl eher eine Interpretationsfrage, wozu die robots.txt gut sein könnte und was sich die DB gedacht hat.
Ich finde keine Nutzungsbedingungen für die Website, die ein Abholen von Daten verbietet.

pq+2008-10-16 13:38:51--
aber ich als webmaster würde mich nicht freuen über sowas: "Also habe ich eine Liste mit paar Hundert Links,
die ich automatisch z. B. jede Minute an bahn.de senden würde."

Ich freue mich auch als Webmistress nicht über unsinnige Anfragen bei diversen Kunden, wenn Clients sich nicht um die robots.txt scheren. Aber dann greife ich regulierend ein. Auch ein Webmaster der Bahn sollte das können. Als ob es keine Möglichkeiten gäbe, zu viele Requests von einer IP oder einem Client zu bremsen.
Die meisten Clients/Spider/Bots interessieren sich nicht die Bohne für die robots.txt, was da drin steht. Das ist eher eine unrealistische Vorstellung.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

<< >> 10 Einträge, 1 Seite



View all threads created 2008-10-15 22:10.