下載歷史股票資料時如何修復「urllib2.HTTPError: HTTP Error 403: Forbidden」?

Susan Sarandon
發布: 2024-11-09 20:10:02
原創
1005 人瀏覽過

How to Fix

使用urllib2 下載歷史股票數據時出現HTTP 禁止錯誤

錯誤:

" urllib2 .HTTPError: HTTP 錯誤403: 禁止”

初始嘗試:

在嘗試下載歷史股票數據時遇到此錯誤後,採取了多個故障排除步驟,包括:

  • 更改使用者代理
  • 接受回應cookie

但是,這些嘗試都沒有成功。

解決方案:

為了解決該錯誤,已將其他 HTTP 標頭添加到請求中。以下程式碼示範了更新後的方法:

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
登入後複製

說明:

添加附加標頭,特別是“Accept”,允許請求檢索CSV 文件,而無需遇到“HTTP Error 403: Forbidden”錯誤。

以上是下載歷史股票資料時如何修復「urllib2.HTTPError: HTTP Error 403: Forbidden」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板