在学习爬虫的过程中在有的时候没使用头在使用python的爬虫脚本刚爬了两次,就只是测试了一下就打不开这个网页了,刚开始还一直迷糊着,到后来才知道,python在做爬虫的时候默认的user agent就是python的大版本,python2.7.的User-Agent: Python-urllib/2.7;python3.5.的User-Agent: Python-urllib/3.5
下面来做个试验:
python代码如下:
python2
import urllib2
url = "http://www.baidu.com/"
request = urllib2.Request(url)
response = urllib2.urlopen(request)
print(response.read())
python3
from urllib import request
url = "http://www.baidu.com/"
req = request.Request(url)
response = request.urlopen(req)
print(response.read().decode()
我们开启fiddler,运行完成代码,然后在fiddler上面查看下我们的数据
很明显就是python的版本,
因此我们在学习爬虫的时候无论爬什么,代码最好都要加上这个头信息
下面我们在代码上加入一个头
from urllib import request
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64"
}
url = "http://www.baidu.com/"
req = request.Request(url,headers=headers)
response = request.urlopen(req)
print(response.read().decode())
抓包的结果如下:
转载于:https://blog.51cto.com/853056088/2174764