Heim > Artikel > Backend-Entwicklung > Warum erhalte ich beim Herunterladen historischer Bestandsdaten die Fehlermeldung „urllib2.HTTPError: HTTP Error 403: Forbidden“?
urllib2.HTTPError: HTTP-Fehler 403: Beim Herunterladen historischer Bestandsdaten verboten
Beim Versuch, den Download historischer Bestandsdaten mit Python zu automatisieren , können Benutzer auf den Fehler „urllib2.HTTPError: HTTP Error 403: Forbidden“ stoßen. Dieses Problem tritt auf, wenn auf Bestandsdaten von Websites zugegriffen wird, die den Zugriff basierend auf Headern oder Cookies einschränken.
Lösung:
Um dieses Problem zu beheben, muss der folgende Satz hinzugefügt werden Header zur Anfrage:
hdr = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Accept-Encoding': 'none', 'Accept-Language': 'en-US,en;q=0.8', 'Connection': 'keep-alive'}
Der Header „Akzeptieren“ ist besonders wichtig, da er die Art des Inhalts angibt, den der Client zu akzeptieren bereit ist. Durch die Angabe dieses Headers zeigt der Client, dass er HTML-, XHTML- und XML-Daten verarbeiten kann.
Sobald diese Header zur Anfrage hinzugefügt wurden, sollte der Fehler behoben sein und die Daten können erfolgreich heruntergeladen werden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Herunterladen historischer Bestandsdaten die Fehlermeldung „urllib2.HTTPError: HTTP Error 403: Forbidden“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!