当前位置: 首页 > news >正文

【Python】【进阶篇】三、Python爬虫的构建User-Agnet代理池

目录

  • 三、Python爬虫的构建User-Agnet代理池
    • 3.1 自定义UA代理池
    • 3.2 模块随机获取UA

三、Python爬虫的构建User-Agnet代理池

在编写爬虫程序时,一般都会构建一个 User-Agent (用户代理)池,就是把多个浏览器的 UA 信息放进列表中,然后再从中随机选择。构建用户代理池,能够避免总是使用一个 UA 来访问网站,因为短时间内总使用一个 UA 高频率访问的网站,可能会引起网站的警觉,从而封杀掉 IP。

3.1 自定义UA代理池

构建代理池的方法也非常简单,在您的 Pycharm 工作目录中定义一个 ua_info.py 文件,并将以下 UA 信息以列表的形式粘贴到该文件中,如下所示:

ua_list = ['Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11','User-Agent:Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11','Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0',' Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1',' Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1',
]

经过上述操作,用户代理池就构建成功。

3.2 模块随机获取UA

您也可以使用专门第三方的模块来随机获取浏览器 UA 信息,不过该模块需要单独安装,安装方式如下:

pip install fake-useragent

下载安装成功后,演示如下代码:

from fake_useragent import UserAgent# 实例化一个对象
ua = UserAgent()
# 随机获取一个ie浏览器ua
print(ua.ie)
print(ua.ie)
# 随机获取一个火狐浏览器ua
print(ua.firefox)
print(ua.firefox)

上面代码运行结果如下 -

Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 4.0)
Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; YComp 5.0.0.0) (Compatible;  ;  ; Trident/4.0)
Mozilla/5.0 (Windows; U; Windows NT 5.1; sv-SE; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:14.0) Gecko/20120405 Firefox/14.0a1
http://www.lryc.cn/news/56611.html

相关文章:

  • 数据结构.双链表的各种操作
  • 去年12月被无情辞退,三个月后我携手自动化测试神技王者归来
  • 区块链技术之共识机制
  • SpringCloud断路器——Hystrix
  • 分布式 - 分布式体系架构:集群和分布式
  • NodeJs常用内置模块
  • 4.0 功能抢先看 | 读懂一个项目的研发效能 之 项目人效
  • Object方法
  • 042:cesium加载Eris地图(多种形式)
  • 第十四届蓝桥杯大赛软件赛省赛(C/C++B组)
  • Python生成随机验证码
  • Longitudinal Change Detection on Chest X-rays Using Geometric Correlation Maps
  • 5年功能测试的一些心得
  • 在外包做了3年测试,离职后却成功入职字节跳动.....
  • 网络编程套接字( TCP )
  • QT 判断当前操作系统是否为 Windows 8 及以下版本
  • 走进小程序【五】微信小程序架构之【逻辑层】详解
  • mysql workbench使用教程
  • 蓝易云:Linux系统常用命令-系列【3】
  • Nginx实现会话保持,集群模式下session域共享
  • 【SpringMVC】6—SpringMVC拦截器
  • 【算法】插入排序
  • java servlet 期刊在线投稿系统jsp编程sqlserver数据库mvc模式开发计算机网页设计
  • 命名空间和程序集
  • 108、指针进阶
  • arm平台交叉编译rt-tests
  • Melis4.0[D1s]:5.测试笔记 - 修改显示测试源码
  • yolov7目标检测:基于自定义数据集完成检测、训练、测试
  • 托福高频真词List13 // 附托福TPO阅读真题
  • 动力节点王鹤SpringBoot3笔记——第八章 文章管理模块