Python 3.x 中"HTTP Error 403: Forbidden"問題的解決方案
urllib.request.urlopen() 方法經常會被用來打開一個網頁的源代碼,然后會去分析這個頁面源代碼,但是對於有的網站使用這種方法時會拋出"HTTP Error 403: Forbidden"異常
對於Python 3.x來說,在請求中添加UserAgent的信息非常簡單,代碼如下
#如果不加上下面的這行出現會出現urllib2.HTTPError: HTTP Error 403: Forbidden錯誤 #主要是由於該網站禁止爬蟲導致的,可以在請求加上頭信息,偽裝成瀏覽器訪問User-Agent,具體的信息可以通過火狐的FireBug插件查詢 headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'} req = urllib.request.Request(url=chaper_url, headers=headers) urllib.request.urlopen(req).read()
將urllib.request.urlopen.read() 替換成上面的代碼后,對於出現問題的頁面就可以就正常訪問