在使用python爬取網絡爬蟲時,常常會覺得目標網站由於禁止爬取網絡爬蟲而出現403 Forbidden的錯誤html
問:爲何會出現403 Forbidden的錯誤
答:出現urllib2.HTTPError: HTTP Error 403: Forbidden錯誤的緣由主要是因爲目標網站禁止爬蟲致使的,能夠在請求加上請求頭信息.python
問:那麼應該如何解決呢?
答:只要模擬正常瀏覽器上網便可,好比添加一個headers
req = urllib.request.Request(url="http://en.wikipedia.org"+pageUrl)
html = urlopen(req)
在req中添加一個headers,使其變爲瀏覽器
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如何查找?
答:能夠利用在瀏覽器開發者工具中的網絡查找,好比火狐瀏覽器網絡
問:假裝成瀏覽器還會不會出現其餘問題?
答:會,好比目標網站會封掉查詢次數過多ip地址工具