在使用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如何查找?
答:能够利用在浏览器开发者工具中的网络查找,好比火狐浏览器markdown
问:假装成浏览器还会不会出现其余问题?
答:会,好比目标网站会封掉查询次数过多ip地址网络