什么是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相关推荐

  1. Python爬虫添加代理IP池(新手)

    给爬虫添加代理IP池 我们在运行爬虫的过程中由于请求次数过多经常会遇到被封IP的情况,这时就需要用到代理IP来解决.代理IP的原理,简单来说就像在本机和web服务器之间开一个中转站,把本机的请求交给代 ...

  2. 利用python爬虫(part12)--随机获取UserAgent

    学习笔记 fake_useragent模块 通常,我都是自己在网上找User-Agent,然后写一个模块,把收集到的User-Agent一股脑塞进这个模块中,爬虫的时候再import这个模块,随机调用 ...

  3. python伪造请求头x-forwarded-for的作用_Pyspider中给爬虫伪造随机请求头的实例

    Pyspider 中采用了 tornado 库来做 http 请求,在请求过程中可以添加各种参数,例如请求链接超时时间,请求传输数据超时时间,请求头等等,但是根据pyspider的原始框架,给爬虫添加 ...

  4. python爬虫课程笔记

    11 Oct 2020 国庆长假公司上了一个新项目,一直没有休息,10月9号开了爬虫班,事情真是一大堆.开班典礼和第一节课还是挺简单的,代码都没敲.第一节课主要讲了端口的概念,通讯协议,数据拆包,数据 ...

  5. Python爬虫新手教程:Python分析了 7 万款 App,万万没想到

    摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...

  6. Python爬虫新手教程:Python分析了 7 万款 App,万万没想到!

    摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...

  7. [Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(四) —— 应对反爬技术(选取 User-Agent、添加 IP代理池以及Cookies池 )

    上一篇:[Python 爬虫] 使用 Scrapy 爬取新浪微博用户信息(三) -- 数据的持久化--使用MongoDB存储爬取的数据 最近项目有些忙,很多需求紧急上线,所以一直没能完善< 使用 ...

  8. 初次接触python爬虫requests.get涉及的UA(浏览器标识信息)问题

    初次接触学习崔大神的python爬虫时候,其中利用requests.get进行网页抓取时候涉及UA(浏览器标识信息)问题.开始没有看明白,大神也只是简单提示爬虫的时候必须添加,其他息没有提示.最后自己 ...

  9. Python爬虫教程-10-UserAgent和常见浏览器UA值

    Python爬虫教程-10-UserAgent和常见浏览器UA值 有时候使用爬虫会被网站封了IP,所以需要去模拟浏览器,隐藏用户身份, UserAgent 包含浏览器信息,用户身份,设备系统信息 Us ...

最新文章

  1. 润乾V5部署url应用名为空applet无法打印解决方案
  2. Linux命令学习之nslookup
  3. java byte 正数最大_为什么Java byte 类型的取值范围是-128~127
  4. python3.6手册中文版-python3.6中文手册下载|
  5. c-free为什么要多输入一条_为什么微信语音不能转发?知道真相后才发现我们都错怪了微信!...
  6. FolderBrowserDialog(文件夹浏览对话框)
  7. c ibatis mysql实例_[Java教程]java程序中的ibatis连接mySql的基本实例
  8. Python成长笔记 - 基础篇 (六)python模块
  9. 算法问题---两艘船是否有最大承载量
  10. JDBC_设计架构_驱动类加载_建立Connection_效率测试
  11. bimmercode刷隐藏教程_PS教程:快速提取人物像素,制作人物海报主体,简单易学...
  12. java 获取发布后的路径问题_Java中的路径问题实例分析
  13. 动荡的 Docker
  14. static 静态局部变量
  15. MongoDB实战系列之三:MongoDB的主从部署
  16. echart 全国地图 下钻省、市、区
  17. 计算机蓝屏分析报告,如何获取电脑蓝屏后的错误报告DMP文件
  18. JS校验上传图片类型
  19. 四叶草python_标签:python - 四叶草
  20. 避免内容失去焦点_痛楚难以避免,而磨难可以选择

热门文章

  1. java计算机毕业设计分享网站MyBatis+系统+LW文档+源码+调试部署
  2. 24-36V升压48V 2A LED恒流驱动
  3. 每周一磁 · 表磁-表场-中心表磁
  4. 石大师装机大师好用吗 石大师装机大师重装教程
  5. 关于英文ROM短信发送后对方显示为横线解决方法
  6. krpano使用陀螺仪
  7. VSCode一键生成、自动添加注释
  8. 项目成本管理 试题分析
  9. Db2干净卸载Linux,如何在Linux下干净卸载db2数据库
  10. vue-epg解决iptv项目中的焦点获取和移动