python爬虫添加随机UA
什么是UA:User Agent是一种浏览器的标识,爬虫除非是访问网站或APP专用数据api接口,正常的HTTP请求都需要进行ua(User-Agent)优化,因为ua是浏览器标识,如果http请求没有ua,或ua太少,都会被网站运维统计异常的,ua越丰富分布就越真实。
那如何获取随机UA呢:
有些网站会检查你是不是真的浏览器访问,还是机器自动访问的。这种情况,加上User-Agent,表明你是浏览器访问即可。有时还会检查是否带Referer信息还会检查你的Referer是否合法,一般再加上Referer。
User-Agent可以用亿牛云提供给的真实库,Referer的来源可以伪装成百度搜索来的。
Mozilla/4.0 (compatible; MSIE 4.0; Windows Me; Trident/4.0; SV1; .NET CLR 1.0.3705; .NET CLR 3.0.04320; msn OptimizedIE8;ZHCN)
Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 5.1; Trident/4.0; Maxthon; .NET CLR 3.0.04320; msn OptimizedIE8;ZHCN)
Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; PPC; 240x320) Opera 8.65 [zh-cn]
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QIHU 360EE) ; InfoPath.2; .NET CLR 2.0.50727)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Foxy/2; .NET CLR 2.0.50727; SE 2.x)
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727; 360SE)
需要其他版本的UA库,可以找亿牛云。
爬虫如何添加UA:class ProxyMiddleware(object): def process_request(self, request, spider):# 代理服务器(产品官网 www.16yun.cn)proxyHost = "t.16yun.cn"proxyPort = "31111"# 代理验证信息proxyUser = "username"proxyPass = "password"request.meta['proxy'] = "http://{0}:{1}".format(proxyHost,proxyPort)# 添加验证头encoded_user_pass = base64ify(proxyUser + ":" + proxyPass)request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass # 设置IP切换头(根据需求)tunnel = random.randint(1,10000)request.headers['Proxy-Tunnel'] = str(tunnel)
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.1276.73 Safari/537.36', 'Referer':'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=nike'}
response = requests.get(url=url, headers=headers)
将获取到的UA库参考代码demo添加。
python爬虫添加随机UA相关推荐
- Python爬虫添加代理IP池(新手)
给爬虫添加代理IP池 我们在运行爬虫的过程中由于请求次数过多经常会遇到被封IP的情况,这时就需要用到代理IP来解决.代理IP的原理,简单来说就像在本机和web服务器之间开一个中转站,把本机的请求交给代 ...
- 利用python爬虫(part12)--随机获取UserAgent
学习笔记 fake_useragent模块 通常,我都是自己在网上找User-Agent,然后写一个模块,把收集到的User-Agent一股脑塞进这个模块中,爬虫的时候再import这个模块,随机调用 ...
- python伪造请求头x-forwarded-for的作用_Pyspider中给爬虫伪造随机请求头的实例
Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加 ...
- python爬虫课程笔记
11 Oct 2020 国庆长假公司上了一个新项目,一直没有休息,10月9号开了爬虫班,事情真是一大堆.开班典礼和第一节课还是挺简单的,代码都没敲.第一节课主要讲了端口的概念,通讯协议,数据拆包,数据 ...
- Python爬虫新手教程:Python分析了 7 万款 App,万万没想到
摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...
- Python爬虫新手教程:Python分析了 7 万款 App,万万没想到!
摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...
- [Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(四) —— 应对反爬技术(选取 User-Agent、添加 IP代理池以及Cookies池 )
上一篇:[Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(三) -- 数据的持久化--使用MongoDB存储爬取的数据 最近项目有些忙,很多需求紧急上线,所以一直没能完善< 使用 ...
- 初次接触python爬虫requests.get涉及的UA(浏览器标识信息)问题
初次接触学习崔大神的python爬虫时候,其中利用requests.get进行网页抓取时候涉及UA(浏览器标识信息)问题.开始没有看明白,大神也只是简单提示爬虫的时候必须添加,其他息没有提示.最后自己 ...
- Python爬虫教程-10-UserAgent和常见浏览器UA值
Python爬虫教程-10-UserAgent和常见浏览器UA值 有时候使用爬虫会被网站封了IP,所以需要去模拟浏览器,隐藏用户身份, UserAgent 包含浏览器信息,用户身份,设备系统信息 Us ...
最新文章
- 润乾V5部署url应用名为空applet无法打印解决方案
- Linux命令学习之nslookup
- java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
- python3.6手册中文版-python3.6中文手册下载|
- c-free为什么要多输入一条_为什么微信语音不能转发?知道真相后才发现我们都错怪了微信!...
- FolderBrowserDialog(文件夹浏览对话框)
- c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例
- Python成长笔记 - 基础篇 (六)python模块
- 算法问题---两艘船是否有最大承载量
- JDBC_设计架构_驱动类加载_建立Connection_效率测试
- bimmercode刷隐藏教程_PS教程:快速提取人物像素,制作人物海报主体,简单易学...
- java 获取发布后的路径问题_Java中的路径问题实例分析
- 动荡的 Docker
- static 静态局部变量
- MongoDB实战系列之三:MongoDB的主从部署
- echart 全国地图 下钻省、市、区
- 计算机蓝屏分析报告,如何获取电脑蓝屏后的错误报告DMP文件
- JS校验上传图片类型
- 四叶草python_标签:python - 四叶草
- 避免内容失去焦点_痛楚难以避免,而磨难可以选择