1. User-Agent是什么
简称UA,中文名为用户代理。它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。网站可以通判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,对于爬虫来说,UA就是标明身份的第一层标识。User-Agent是请求头的一部分。会告诉网站服务器,访问者是通过什么工具来请求的,如果是爬虫,一般网站会认为是非法请求,直接会拒绝访问,如果是用户浏览器,就会正常应答。
UA伪装:让爬虫对应的请求载体身份标识伪装成某一浏览器。
以Edge浏览器为例,Edge的User-Agent为
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37
获取Edge的User-Agent也很简单,地址栏输入edge://version/ 就能看到。
使用爬虫请求网页时,如果使用requests的GET直接请求,就会得到如下结果:
User-Agent直接显示为requests的版本号,网站一眼就知道你在用爬虫,从而封锁。所以用爬虫的第一步就得对请求头进行伪装。
简单处理一下下:
import requests
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37"
}
response = requests.get("http://www.httpbin.org/get",headers=headers)
print(response.text)
可以看到,User-Agent已经被替换为我们想要的浏览器的标识了,但是这只是一个请求头,为了避免同一个请求头频繁访问,可以使用多个进行随机调用。
2. fake-useragent
简单的说,fake_useragent就像是你的女朋友,能帮助你生成user-agent,从而快乐惨。
fake_useragent作为Python中的第三方模块,它将给我们返回一个随机封装了好的头部信息,我们直接使用即可
安装
pip install fake_useragent
更新
pip install -U fake-useragent
显示版本
import fake_useragent
print(fake_useragent.VERSION)
示例
#导入
from fake_useragent import UserAgent
#对应的浏览器头部信息
print(ua.ie) #ie
print(ua.chrome) #chrome
print(ua.opera) #opera
print(ua.firefox) #firefox
print(ua.safari) #safari
#随机生成(经常使用的)
print(ua.random)
fake_useragent提供了很多User-Agent,使用的时候,就不用担心重复的问题了。
当然User-Agent只是第一步,再配合ip代理池一起使用的话,爬虫的伪装会更强。
转载请注明出处(https://wusiqi.cn/archives/585/)
来源网站:547的Blog - 萌萌哒 ~
陈蓬两:文章真不错https://www.iqdyx.cn/news/327.html
不错不错,我喜欢看 https://www.jiwenlaw.com/
看的我热血沸腾啊https://www.jiwenlaw.com/
想想你的文章写的特别好https://www.ea55.com/
不错不错,我喜欢看 https://www.ea55.com/
想想你的文章写的特别好www.jiwenlaw.com
真棒!