python3.6没有use-agent吗

Python017

python3.6没有use-agent吗,第1张

python3一样有的,不过从python3开始就把urllib和urllib2等的几个模块整合成一个包了,所以使用起来感觉没有python2顺手,其实是一样的,然后python3中,最常用的是urlib包的request模块,这个模块里面就有伪造user-agent参数的方法

伪造报文头的范例:

import urllib.request

url = 'http://www.xxxx.com' #任意网站

head = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

request = urllib.request.Request(url,headers=head)

response = urllib.request.urlopen(request)

print(response.read()) # 做测试,如果伪造失败,会被反爬机制拒绝,如果成功则打印网页源代码

以上的代码就已经伪造好user-agent了,你可以为url填入一个真实的域名地址测试

补充:如果你实在用着不习惯,可以使用第三方库requests模块,功能较全面

python爬虫爬取网站内容时,如果什么也没带,即不带报头headers,往往会被网站管理维护人员认定为机器爬虫。因为,此时python默认的user-agent如Python-urllib/2.1一样。因此,网站管理人员会根据请求的user-agent判定你是不是机器爬虫。所以,此时往往就需要伪装user-agent,模拟成真实的浏览器去取出内容。