吴思奇的个人博客(⁄ ⁄•⁄ω⁄•⁄ ⁄)~

07月 13

Python爬虫UA伪装

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/ 就能看到。
edge-ua.jpg

使用爬虫请求网页时,如果使用requests的GET直接请求,就会得到如下结果:
1.jpg
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)

2.jpg

可以看到,User-Agent已经被替换为我们想要的浏览器的标识了,但是这只是一个请求头,为了避免同一个请求头频繁访问,可以使用多个进行随机调用。

3.jpg

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 - 萌萌哒 ~

标签:none

已有 7 人抢先你了

  1. 陈蓬两:文章真不错https://www.iqdyx.cn/news/327.html

  2. 不错不错,我喜欢看 https://www.jiwenlaw.com/

  3. 看的我热血沸腾啊https://www.jiwenlaw.com/

  4. 想想你的文章写的特别好https://www.ea55.com/

  5. 不错不错,我喜欢看 https://www.ea55.com/

  6. 想想你的文章写的特别好www.jiwenlaw.com

  7. 真棒!

添加新评论