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 ?

Pourquoi est-ce que je reçois une erreur HTTP 403 : Interdit lors du téléchargement de données boursières avec urllib2 ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-08 20:31:021036parcourir

Why am I getting an HTTP Error 403: Forbidden when downloading stock data with 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!

Déclaration:
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