Heim > Backend-Entwicklung > Python-Tutorial > Warum erhalte ich beim Herunterladen von Bestandsdaten mit urllib2 den HTTP-Fehler 403: Verboten?

Warum erhalte ich beim Herunterladen von Bestandsdaten mit urllib2 den HTTP-Fehler 403: Verboten?

Susan Sarandon
Freigeben: 2024-11-08 20:31:02
Original
1032 Leute haben es durchsucht

Why am I getting an HTTP Error 403: Forbidden when downloading stock data with urllib2?

HTTP-Fehler 403: Verboten beim Herunterladen von Bestandsdaten mit urllib2

Beim Versuch, den Download historischer Bestandsdaten mit urllib2 zu automatisieren, kann es passieren, dass Benutzer stoßen auf einen HTTP-Fehler 403: Verboten. Dieser Fehler tritt auf, wenn der Server den Zugriff auf die angeforderte Ressource aufgrund unzureichender Berechtigungen verweigert.

Um dieses Problem zu beheben, ziehen Sie die folgenden Änderungen an Ihrem Code in Betracht:

import urllib2,cookielib

site = „http://www.nseindia.com/live_market/dynaContent/live_watch/get_quote/getHistoricalData.jsp?symbol=JPASSOCIAT&fromDate=1-JAN-2012&toDate=1-AUG-2012&datePeriod=unselected&hiddDwnld=true“
hdr = {' User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, wie 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'}
Nach dem Login kopieren

req = urllib2.Request(site, headers=hdr)

versuchen Sie:

page = urllib2.urlopen(req)
Nach dem Login kopieren

außer urllib2.HTTPError, e:

print e.fp.read()
Nach dem Login kopieren

content = page.read()
Inhalt drucken

Durch das Hinzufügen des Headers „Accept“ gibt der Code nun an, dass er verschiedene Inhaltstypen akzeptieren kann. einschließlich Klartext, HTML und XML. Dadurch kann das Skript erfolgreich mit dem Server verhandeln und die Bestandsdaten abrufen.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Herunterladen von Bestandsdaten mit urllib2 den HTTP-Fehler 403: Verboten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage