最近遇到一个bug,就是在爬虫进入一个网站的时候,被拦截,返回400的错误,但是正常用浏览器打开就没有问题,后来查询发现,流量较大的服务器会检测你的get请求里面的一些header,比如浏览器什么信息,为了防止恶意的爬虫。所以需要自己伪装成浏览器的get请求,具体代码如下
req = urllib.request.Request(url, headers = {
'Connection': 'Keep-Alive',
'Accept': 'text/html, application/xhtml+xml, */*',
'Accept-Language': 'en-US,en;q=0.8,zh-Hans-CN;q=0.5,zh-Hans;q=0.3',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'
})