1. 程式人生 > >python3 raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbid

python3 raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbid

urlopen agen request python 瀏覽器 tar lan lun target

1.分析:

如果用 urllib.request.urlopen 方式打開一個URL,服務器端只會收到一個單純的對於該頁面訪問的請求,但是服務器並不知道發送這個請求使用的瀏覽器,操作系統,硬件平臺等信息,而缺失這些信息的請求往往都是非正常的訪問,例如爬蟲. 有些網站驗證請求信息中的UserAgent(它的信息包括硬件平臺、系統軟件、應用軟件和用戶個人偏好),如果UserAgent存在異常或者是不存在,那麽這次請求將會被拒絕(如上錯誤信息所示) 所以可以嘗試在請求中加入UserAgent的信息 方案: 對於Python 3.x來說,在請求中添加UserAgent的信息非常簡單,代碼如下: 可以在請求加上頭信息,偽裝成瀏覽器訪問User-Agent,具體的信息可以通過火狐的FireBug插件查詢 headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0‘} req = request.Request(url=chaper_url, headers=headers) page = request.urlopen(req).read() 參考:https://www.cnblogs.com/lixiaolun/p/4773433.html

python3 raise HTTPError(req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: HTTP Error 403: Forbid