2016-08-20 2 views
2

Zum Beispiel habe ich versucht, Python erhalte die folgende gefilterten SeiteWie verhindere ich, dass ein Python-Skript von einer bestimmten Webseite umgeleitet wird?

http://www.hearthpwn.com/cards?filter-attack-val=1&filter-attack-op=1&display=1

aber Python bekommt nur die ungefilterte Seite http://www.hearthpwn.com/cards statt zu lesen.

+5

Welche Bibliothek verwendest du dafür? "Anfragen"? Sie sollten Ihren Post aktualisieren, um ein minimales funktionierendes Beispiel Ihres Codes einzubeziehen, um zu zeigen, was Sie getan haben. – Anthon

+2

Mögliches Duplikat von [Gibt es eine einfache Möglichkeit, eine URL in Python anzufordern und KEIN Weiterleitungen zu folgen?] (Http://stackoverflow.com/questions/110498/is-there-an-easy-way-to-request-a -url-in-python-and-not-follow-Weiterleitungen) – zachyee

+0

@Anthon Ich benutze die Standard urllib2-Methode zum Abrufen von URLs. Ich werde den Beitrag später aktualisieren, wenn ich Zugang zu meinem PC habe. Ich sollte beachten, dass es vorher funktioniert hat, aber jetzt nicht. – geft

Antwort

1

Die Standardbibliothek urllib2 folgt normalerweise Umleitungen. Wenn das Abrufen dieser URL funktioniert, ohne umgeleitet zu werden, hat sich die Site geändert.

Sie können zwar innerhalb urllib2 nach der Umleitung verhindern (durch einen alternativen HTTP-Handler bereitstellt), empfehle ich requests, wo Sie tun können:

import requests 
r = requests.get('http://www.hearthpwn.com/cards?filter-attack-val=1' 
       '&filter-attack-op=1&display=1', allow_redirects=False) 
print(r) 

Sie geben:

<Response [302]> 
+0

Sehr einfache Lösung. Vielen Dank! – geft

Verwandte Themen