Maison >développement back-end >Tutoriel Python >Pourquoi est-ce que je reçois une erreur HTTP 403 : Interdit lors du téléchargement de données boursières avec urllib2 ?
Erreur HTTP 403 : interdit lors du téléchargement des données boursières avec urllib2
Lors de la tentative d'automatisation du téléchargement des données boursières historiques à l'aide de urllib2, les utilisateurs peuvent rencontrez une erreur HTTP 403 : Interdit. Cette erreur se produit lorsque le serveur refuse l'accès à la ressource demandée en raison d'autorisations insuffisantes.
Pour résoudre ce problème, envisagez les modifications suivantes dans votre code :
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, comme 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)
essayez :
page = urllib2.urlopen(req)
sauf urllib2.HTTPError, e:
print e.fp.read()
content = page.read()
imprimer le contenu
En ajoutant l'en-tête « Accepter », le code précise désormais qu'il est capable d'accepter différents types de contenu, notamment le texte brut, HTML et XML. Cela permet au script de négocier avec succès avec le serveur et de récupérer les données boursières.
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!