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
Susan SarandonOriginal
2024-11-08 20:31:021040Durchsuche

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'}

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

versuchen Sie:

page = urllib2.urlopen(req)

außer urllib2.HTTPError, e:

print e.fp.read()

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!

Stellungnahme:
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