urllib2.HTTPError: HTTP Error 403: Forbidden的解决方案
在使用python爬取網(wǎng)絡(luò)爬蟲時,經(jīng)常會以為目標(biāo)網(wǎng)站因為禁止爬取網(wǎng)絡(luò)爬蟲而出現(xiàn)403 Forbidden的錯誤
問:為什么會出現(xiàn)403 Forbidden的錯誤
答:出現(xiàn)urllib2.HTTPError: HTTP Error 403: Forbidden錯誤的原因主要是由于目標(biāo)網(wǎng)站禁止爬蟲導(dǎo)致的,可以在請求加上請求頭信息.
問:那么應(yīng)該如何解決呢?
答:只要模擬正常瀏覽器上網(wǎng)即可,比如添加一個headers
req = urllib.request.Request(url="http://en.wikipedia.org"+pageUrl)
html = urlopen(req)
在req中添加一個headers,使其變?yōu)?/p>
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}req = urllib.request.Request(url="http://en.wikipedia.org"+pageUrl, headers=headers)# req = urllib.request.Request(url="http://en.wikipedia.org"+pageUrl)html = urlopen(req)
問:headers如何查找?
答:可以利用在瀏覽器開發(fā)者工具中的網(wǎng)絡(luò)查找,比如火狐瀏覽器
問:偽裝成瀏覽器還會不會出現(xiàn)其他問題?
答:會,比如目標(biāo)網(wǎng)站會封掉查詢次數(shù)過多ip地址
總結(jié)
以上是生活随笔為你收集整理的urllib2.HTTPError: HTTP Error 403: Forbidden的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BeautifulSoup([your
- 下一篇: Python3 pymysql连接mys