Wie behebt man „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen historischer Bestandsdaten?

Susan Sarandon
Freigeben: 2024-11-09 20:10:02
Original
1026 Leute haben es durchsucht

How to Fix

HTTP-verbotener Fehler beim Herunterladen historischer Bestandsdaten mit urllib2

Fehler:

"urllib2 .HTTPError: HTTP-Fehler 403: Verboten“

Erste Versuche:

Nachdem dieser Fehler beim Herunterladen historischer Bestandsdaten aufgetreten ist, wurden mehrere Schritte zur Fehlerbehebung unternommen, darunter:

  • Benutzeragenten ändern
  • Antwortcookies akzeptieren

Diese Versuche waren jedoch erfolglos.

Lösung:

Um den Fehler zu beheben, wurden der Anfrage zusätzliche HTTP-Header hinzugefügt. Der folgende Code demonstriert den aktualisierten Ansatz:

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

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

try:
    page = urllib2.urlopen(req)
except urllib2.HTTPError, e:
    print e.fp.read()

content = page.read()
print content
Nach dem Login kopieren

Erklärung:

Durch das Hinzufügen der zusätzlichen Header, insbesondere „Accept“, konnte die Anfrage die CSV-Datei ohne abrufen Es wird der Fehler „HTTP-Fehler 403: Verboten“ angezeigt.

Das obige ist der detaillierte Inhalt vonWie behebt man „urllib2.HTTPError: HTTP Error 403: Forbidden' beim Herunterladen historischer Bestandsdaten?. 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