urllib2.HTTPError: HTTP Error 403: Forbidden的解決方案

在使用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地址工具

相關文章
相關標籤/搜索