Maison > développement back-end > Tutoriel Python > Comment réparer « urllib2.HTTPError : Erreur HTTP 403 : Interdit » lors du téléchargement des données boursières historiques ?

Comment réparer « urllib2.HTTPError : Erreur HTTP 403 : Interdit » lors du téléchargement des données boursières historiques ?

Susan Sarandon
Libérer: 2024-11-09 20:10:02
original
1100 Les gens l'ont consulté

How to Fix

Erreur HTTP interdite lors du téléchargement des données boursières historiques avec urllib2

Erreur :

"urllib2 .HTTPError : Erreur HTTP 403 : Interdit"

Tentatives initiales :

Après avoir rencontré cette erreur lors de la tentative de téléchargement des données boursières historiques, plusieurs étapes de dépannage ont été prises, notamment :

  • Changement de l'agent utilisateur
  • Acceptation des cookies de réponse

Cependant, ces tentatives ont échoué.

Solution :

Pour résoudre l'erreur, des en-têtes HTTP supplémentaires ont été ajoutés à la requête. Le code suivant illustre l'approche mise à jour :

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
Copier après la connexion

Explication :

L'ajout des en-têtes supplémentaires, notamment « Accepter », a permis à la requête de récupérer le fichier CSV sans rencontrer l'erreur "Erreur HTTP 403 : Interdit".

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal