当前位置: 首页 > 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

相关文章:

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

目录三、Python爬虫的构建User-Agnet代理池3.1 自定义UA代理池3.2 模块随机获取UA三、Python爬虫的构建User-Agnet代理池 在编写爬虫程序时,一般都会构建一个 User-Agent (用户代理)池,就是把多个浏览器的 UA 信息放进列表中&…...

数据结构.双链表的各种操作

//双链表 //单链表无法逆向检索&#xff0c;双链表可进可退 双链表比单链表多啦一个前驱指针 //双链表查找时间复杂度都为o(n) #include<bits/stdc.h> using namespace std; typedef struct donde //创建双链表 {int data;dnode *next,*prior; //前驱和后继 }dnode,*…...

去年12月被无情辞退,三个月后我携手自动化测试神技王者归来

引言 不知不觉在软件测试行业工作了3年之久&#xff0c;虽然说我是主做的功能测试&#xff0c;但是我也一直是兢兢业业的呀&#xff0c;不曾想去年7月份无情被辞的消息让我感到一阵沉重。我曾经一直坚信自己的技能和经验足以支撑我在这个领域的未来&#xff0c;但现实却告诉我&…...

区块链技术之共识机制

“共识机制”一词通常通俗地用于指代“股权证明”、“工作证明”或“权威证明”协议。然而&#xff0c;这些只是防止女巫攻击的共识机制的组成部分&#xff0c;共识机制是思想、协议和激励的完整堆栈&#xff0c;使一组分布式节点能够就区块链的状态达成一致。共识机制是区块链…...

SpringCloud断路器——Hystrix

Hystrix 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 简介 Hystrix是一个用于处理分布式系统的延迟和容错的一个开源库&#xff0c;在分布式系统里&#xff0c;许多依赖不可避免的会调用失败&#xff0c;比如超时、异常等&#xff0c;Hystrix…...

分布式 - 分布式体系架构:集群和分布式

文章目录01. 什么是集群&#xff1f;02. 集群为什么可以提高系统的可靠性&#xff1f;03. 集群为什么可以提高系统的性能&#xff1f;04. 什么是分布式计算&#xff1f;05. 如何进行分布式计算&#xff1f;06. 集群如何提高计算效率&#xff1f;07. 集群的优点和缺点&#xff1…...

NodeJs常用内置模块

目录 一、Path模块 二、fs模块 2.1、fs同步读取文件fs.readFileSync() 2.2、fs异步读取文件fs.readFile() 2.3、异步写入文件内容fs.writeFile() 三、Http模块 四、模块化 4.1、CommonJs的导入导出 4.2、ES6的导入导出 五、了解global和this 六、Sort()应用(数组排序…...

4.0 功能抢先看 | 读懂一个项目的研发效能 之 项目人效

思码逸企业版 4.0 的部分功能已进入内测阶段✨近期我们会用几篇文章&#xff0c;浅剧透一下 4.0 的新鲜功能。 最近几篇的主题将是 4.0 版本中的 GQM 看板——GQM 代表 Goal-Question-Metric&#xff08;目标-问题-指标&#xff09;&#xff0c;是一套构建软件研发效能度量的系…...

Object方法

系列文章目录 前端系列文章——传送门 JavaScript系列文章——传送门 文章目录系列文章目录对象方法一、Object原型方法1、hasOwnProperty2、isPrototypeOf3、propertyIsEnumerable4、toString5、其他二、Object方法1、assign2、create3、defineProperties4、defineProperty5、…...

042:cesium加载Eris地图(多种形式)

第042个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载加载Eris地图。这里显示4种形式的地图,分别为:World_Imagery、World_Street_Map、World_Terrain_Base、World_Physical_Map。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示…...

第十四届蓝桥杯大赛软件赛省赛(C/C++B组)

目录试题 A. 日期统计1.题目描述2.解题思路3.模板代码试题 B.01 串的熵1.题目描述2.解题思路3.模板代码试题 C. 冶炼金属1.题目描述2. 解题思路3.模板代码试题 D. 飞机降落1.题目描述2. 解题思路3.模板代码试题 E. 接龙数列1.题目描述2. 解题思路3.模板代码试题 F. 岛屿个数1.题…...

Python生成随机验证码

pip install pillow 实现代码 import random from PIL import Image, ImageDraw, ImageFont,ImageFilterdef check_code(width120, height30, char_length5, font_filekumo.ttf, font_size28):code []img Image.new(modeRGB, size(width, height), color(255, 255, 255))draw…...

Longitudinal Change Detection on Chest X-rays Using Geometric Correlation Maps

文章来源&#xff1a;[MICCAI2019] Keywords&#xff1a;Chest X-ray&#xff1b;Longitudinal analysis&#xff1b;Change detection&#xff1b;Geometric correlation 一、本文提出的问题以及解决方案 在胸部X-ray图像的诊断中&#xff0c;医生会考虑与先前检查相比病变的…...

5年功能测试的一些心得

一、前言 功能测试是测试工程师的基础功&#xff0c;很多人功能测试还做不好&#xff0c;就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点&#xff0c;如何自己不用心去悟&#xff0c;去研究&#xff0c;那么你的职业生涯也就停留在点点点上了。在这里&#…...

在外包做了3年测试,离职后却成功入职字节跳动.....

最近换了份工作&#xff0c;当时和群里的朋友也聊过换工作的话题&#xff0c;他们都觉得这是一次非常冒险的行为&#xff0c;说我这是一次豪赌——成了会有更好的职业发展&#xff0c;没成可能就会出现两三年的发展断层&#xff0c;甚至影响职业生涯路径。一步错&#xff0c;步…...

网络编程套接字( TCP )

目录 1、实现一个TCP网络程序&#xff08;单进程版&#xff09; 1.1、服务端serverTcp.cc文件 服务端创建套接字 服务端绑定 服务端监听 服务端获取连接 服务端提供服务 服务端main函数命令行参数 服务端serverTcp.cc总代码 1.2、客户端clientTcp.cc文件 客户端main函数命令行…...

QT 判断当前操作系统是否为 Windows 8 及以下版本

判断当前操作系统是否为 Windows 8 及以下版本&#xff0c;可以使用 QSysInfo 类中的静态函数 QSysInfo::windowsVersion()&#xff0c;其返回值是一个 QOperatingSystemVersion 类型的对象&#xff0c;包含了当前操作系统的主版本号、次版本号和补丁版本号。我们可以通过比较主…...

走进小程序【五】微信小程序架构之【逻辑层】详解

文章目录&#x1f31f;前言&#x1f31f;小程序架构&#x1f31f;逻辑层 App Service&#x1f31f;注册小程序&#x1f31f;注册页面&#x1f31f;使用 Page 构造器注册页面&#x1f31f;在页面中使用 behaviors&#x1f31f;使用 Component 构造器构造页面&#x1f31f;页面生…...

mysql workbench使用教程

mysql workbench使用教程1、打开workbench&#xff0c;显示如下界面&#xff0c;点击2、连接建立好之后&#xff0c;点击已经建立好的连接&#xff0c;连接mysql服务器1、打开workbench&#xff0c;显示如下界面&#xff0c;点击 填写信息 密码是之前安装MySQL时设置的密码 点击…...

蓝易云:Linux系统常用命令-系列【3】

在Linux中&#xff0c;有许多常用的命令可以用来管理文件、目录、进程等。下面是一些常用的Linux命令的介绍。 1. cd&#xff1a;改变当前目录。例如&#xff0c;cd /home。 2. ls&#xff1a;列出指定目录下的所有文件和子目录。例如&#xff0c;ls -al。 3. rm&#xff1a…...

【亲测免费】 ImageNet标签文件及读取脚本:加速您的计算机视觉研究

ImageNet标签文件及读取脚本&#xff1a;加速您的计算机视觉研究 【下载地址】ImageNet标签文件及读取脚本 ImageNet 标签文件及读取脚本 项目地址: https://gitcode.com/open-source-toolkit/56c9e 项目介绍 在计算机视觉领域&#xff0c;ImageNet数据集是图像分类任务…...

G-Helper深度解析:华硕笔记本的终极轻量级控制方案

G-Helper深度解析&#xff1a;华硕笔记本的终极轻量级控制方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exper…...

从逻辑实体到系统工程:深度解析软件危机的起源与软件工程的三大支柱

从逻辑实体到系统工程&#xff1a;深度解析软件危机的起源与软件工程的三大支柱 摘要&#xff1a;在计算机科学的浩瀚星图中&#xff0c;“软件”无疑是那颗最耀眼却也最神秘的恒星。它无形无质&#xff0c;却驱动着现代文明的运转。然而&#xff0c;正是这种“无形”&#xff…...

【VScode】STM32CubeMX+VScode开发编译下载STM32程序(基于Cmake工程)

【VScode】STM32CubeMXVScode开发STM32程序&#xff08;基于Cmake工程&#xff09; 文章目录准备工作安装上述软件&#xff08;略&#xff09;为VScode配置隔离开发环境-cubeMX为新环境安装插件1. 安装STM32CubelIDE for Visual Studiio Code插件2. 安装Cortex-Debug插件3. 安装…...

因果推理第四层盲区:为什么关联≠因果

因果推理第四层盲区&#xff1a;为什么关联≠因果 副标题: 从Pearl因果阶梯到知识库因果链&#xff0c;AI如何跨越观测vs建模的鸿沟痛点&#xff1a;为什么你的AI只能"描述"不能"规划"&#xff1f; 你有没有遇到过这样的情况&#xff1a; AI能告诉你"…...

别再只盯着大厂光环了:聊聊外包经历对技术人真正的价值与局限

外包经历的技术价值辩证&#xff1a;从职业跳板到能力陷阱的深度思考 当招聘网站上"大厂外包"的职位描述与诱人薪资同时出现时&#xff0c;很多技术人都会面临职业选择的十字路口。我们习惯性地将外包岗位视为"二等公民"&#xff0c;却鲜少客观分析这段经历…...

你的嵌入式数据记录仪方案:基于STM32CubeMX+FATFS+SD卡存储传感器数据(CSV格式实战)

嵌入式数据记录仪实战&#xff1a;STM32CubeMXFATFSSD卡构建工业级CSV存储方案 在工业物联网和智能硬件开发中&#xff0c;可靠的数据记录功能往往是产品核心价值所在。想象一下温室大棚的环境监控系统需要连续记录温湿度数据三个月&#xff0c;或者电力设备振动监测装置要在无…...

学生用户画像-利用ETL零代码构建考勤主题标签

1 实验说明 1.1 实验目的 依托 “数智教育” 大赛数据集搭建学生考勤 ETL 转换流&#xff0c;掌握 ETL 全流程&#xff0c;解决校园考勤统计低效、标准不一问题&#xff1b;优化空值处理&#xff0c;输出精准多维度考勤数据&#xff0c;支撑校园考勤管理。 1.2 实验环境 工…...

Arm Compiler 6.19嵌入式开发工具链解析

1. Arm Compiler for Embedded 6.19版本深度解析Arm Compiler for Embedded 6.19是Arm公司于2022年10月12日发布的嵌入式C/C编译工具链。作为一款专为裸机软件、固件和实时操作系统(RTOS)应用开发设计的工具链&#xff0c;它提供了对Arm架构最新特性的支持。需要注意的是&#…...

算法工程师简历封神指南:项目细节 + 论文 / 竞赛成果缺一不可

引言:算法岗简历的“死亡三连”,你中了吗? “熟悉CNN、Transformer、大模型微调,掌握PyTorch、TensorFlow”——当面试官第88次看到这句“算法词典式”技能描述时,已经开始默默划走简历。2026年算法岗卷到什么程度?智联招聘数据显示,硕士学历算法岗平均竞争比达300:1,…...