Wie kann ich mithilfe von OpenUri den Inhalt einer Weiterleitungsseite abrufen?

7

Ich möchte Daten von dieser Seite erhalten:

%Vor%

Aber diese Seite geht weiter zu:

%Vor%

Wenn ich open von OpenUri verwende, um die Daten abzurufen, wird ein RuntimeError Fehler mit HTTP redirection loop:

ausgegeben

Ich bin mir nicht sicher, wie ich diese Daten nach der Weiterleitung erhalten und diesen Fehler auslösen soll.

    
Shpigford 03.05.2010, 15:18
quelle

3 Antworten

22

Sie benötigen ein Tool wie Mechanize . Aus seiner Beschreibung:

  

Die Mechanize-Bibliothek wird für   Automatisierung der Interaktion mit Websites.   Mechanize speichert und speichert automatisch   sendet Cookies, folgt Weiterleitungen, kann   folgen Sie den Links und senden Sie Formulare. Bilden   Felder können ausgefüllt und gesendet werden.   Mechanize verfolgt auch die   Websites, die Sie als besucht haben   Geschichte.

was genau Sie brauchen. Also,

%Vor%

dann

%Vor%

und Sie sind bereit, Rock 'n' Roll.

    
Vlad Zloteanu 07.05.2010, 19:42
quelle
1

Die Site scheint einige Umleitungslogik mit Sitzungen auszuführen. Wenn Sie die Sitzungs-Cookies, die sie bei der ersten Anfrage senden, nicht zurücksenden, gelangen Sie in eine Weiterleitungsschleife. IMHO ist es eine beschissene Implementierung ihrerseits.

Allerdings habe ich versucht, die Kekse an sie zurück zu geben, aber ich habe es nicht zur Arbeit gebracht, daher kann ich mir nicht ganz sicher sein, dass das hier alles ist.

    
Theo 03.05.2010 18:33
quelle
1

Während mechanize ein wunderbares Werkzeug ist, ziehe ich es vor, mein eigenes Ding zu "kochen".

Wenn Sie es ernst meinen mit dem Parsen, können Sie sich diesen Code ansehen. Es dient dazu, Tausende von Websites auf internationaler Ebene jeden Tag zu crawlen und soweit ich recherchiert und optimiert habe, gibt es keinen stabileren Ansatz dafür, der Ihnen auch erlaubt, Ihre Bedürfnisse später anzupassen.

%Vor%     
Yavor Ivanov 26.09.2012 15:21
quelle