python爬虫代理ip池搭建

        最近大量爬取数据的时候总会遇到被封ip的情况,所有打算自己搭建一个代理ip池来使用。本次使用的是开源的ip代理池项目ProxyPool

1.下载redis数据库

        redis安装

        这里我选择直接下载redis的解压包形式,方便安装。下载地址:发布 ·TPORADOWSKI/REDIS (github.com)

         下载完成直接解压就可以使用了,使用:redis-server.exe redis.windows.conf命令启动redis服务。也可以直接双击启动程序来启动redis服务

 

        redis可视化工具

        安装完成redis后,搭配可视化工具使用会更方便一些。下载连接:https://github.com/uglide/RedisDesktopManager/releases/download/0.9.3/redis-desktop-manager-0.9.3.817.exe

        下载完成后选择想要的安装位置直接安装就行了,直接连接本地就行了,什么也不用填,只需要设置名字就行。

2.下载开源 ip代理池—ProxyPool

        ProxyPool安装

        下载地址:GitHub - Python3WebSpider/ProxyPool: An Efficient ProxyPool with Getter, Tester and Server

        下载压缩包解压即可。 

 

        ProxyPool配置

        可以让chatgpt帮忙把需要用到项目注释换成中文,如果项目报错缺少模块的缺什么模块安装什么模块就好:

        进入到对应目录下修改一些配置,如redis数据库地址,密码,想要使用记号库之类的。如果是跟本教程来做的,不用修改这些配置直接启动run.py运行项目就行了。

        项目启动后redis数据库结果如下,这些IP都在程序帮我们获取到的可以使用的IP:

 

        ProxyPool的原理简单说一下,就是这个程序去网上获取ip,然后拿回来进行检查,如果是好的就放入IP池里面,同时程序还会自己检查IP池,如果池中出现坏了的IP,程序会将此IP丢出IP池,并重新放入一个可用的IP进入IP池。

        有了IP池后,我们就可以编写程序去调用redis数据库,从数据库中获取一个ip拿来使用。大致代码如下(ProxyPool项目需要一直运行着,因为需要他来不断的给IP池进行补充和检查IP):


import requests# 从redis中随机获取代理IP
PROXY_POOL_URL = 'http://localhost:6379/random'proxies = {'http': 'http://{}'.format(PROXY_POOL_URL),'https': 'https://{}'.format(PROXY_POOL_URL),
}url = "目标网站的url"# 使用代理ip去请求网站
res = response = requests.get(url, proxies=proxies)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/53545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小型公司机房运维如何管理

本人从业五年,基本是中小型公司。经手的机房也基本是从0-1。今天浅谈一下如果管理小型公司的机房。 机房管理,一般分成以下几个方面: 1、环境管理:比如弱电、强点线路是否排列整齐;机柜门是否做到全部关闭&#xff1b…

SCAU算法竞赛入门指北

首先,还是欢迎各位小朋友来到华南农业大学,虽然不是什么ACM强校,但是姑且还是有这么个校队存在的。本文的主要目的是给各位OI✌️介绍下acm和oi的区别,给各位纯萌新介绍下你需要做什么,以及进校队的时间线。 ACM是什么…

UE4_后期处理_后期处理材质及后期处理体积二

效果: 步骤: 1、创建后期处理材质,并设置参数。 2、回到主界面,找到需要发光的物体的细节面板。 渲染自定义深度通道,默认自定义深度模具值为10(需要修改此值,此值影响物体的亮度)。 3、添加…

JVM系列(六) -对象的创建过程

一、摘要 在之前的文章中,我们介绍了类加载的过程和 JVM 内存布局相关的知识。本篇我们综合之前的知识,结合代码一起推演一下对象的真实创建过程,以及对象创建完成之后在 JVM 中是如何保存的。 二、对象的创建 在 Java 中,创建对象的方式有很多种,比如最常见的通过new …

Spring 循环依赖原理及解决方案

一、什么是循环依赖 循环依赖指的是一个实例或多个实例存在相互依赖的关系(类之间循环嵌套引用)。 举例: Component public class AService {// A中注入了BAutowiredprivate BService bService; }Component public class BService {// B中也…

Redis 的标准使用规范之数据类型使用规范

数据类型使用规范 提示:以下是本篇文章正文内容,可供参考 (1)、字符文本(STRING) 【建议】选型为简易文本类缓存 :比如普通的字符、文本、Json 结构 ,通常能起到加速读写和降低后端压力的作用。 【建议】…

数据库系统 第46节 数据库版本控制

数据库版本控制是确保数据库架构和数据模型随着时间的推移而正确演进的重要实践。它允许开发团队跟踪数据库的变更历史,回滚到以前的版本,以及在不同环境(如开发、测试和生产环境)之间同步数据库结构。以下是两种主要的数据库版本…

ActiveMQ 的网络连接及消息回流机制

1、ActiveMQ 的网络连接 activeMQ 如果要实现扩展性和高可用性的要求的话,就需要用用到网络连接模式。 NetworkConnector:主要用来配置 broker 与 broker 之间的通信连接 如上图所示,MQ 服务器1 和MQ 服务器2 通过 NewworkConnector 相连&…

Leetcode Hot 100刷题记录 -Day12(轮转数组)

轮转数组 问题描述: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4]解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向…

一台笔记本电脑的硬件都有哪些以及对应的功能

一台笔记本电脑的硬件通常包括多个关键组件,这些组件共同协作,确保电脑的正常运行。以下是笔记本电脑的主要硬件及其功能: 1. 中央处理器(CPU) 功能:CPU 是电脑的“大脑”,负责处理所有的计算…

CocosCreator面试真题详解

最近有位同学面试Cocos Creator,我们把面试时问道的真题列举出来,并配上参考答案。 问题1: 你们公司项目时如何做战斗系统的? 面试官你好,做战斗系统和架构的时候,我们一般把代码逻辑分成3层来设计,同时把数据独立出…

Linux业务系统将/home目录删除并将空间扩给根目录

原有目录空间分配如下: [roothisdb ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl-root 21G 10G 11G 50% / devtmpfs 905M 0 905M 0% /dev tmpfs 920M 177M 744M 20% /dev/shm tm…

千益畅行,共享旅游卡,有哪些优势和特点?

1、同行人数灵活: 与一般旅游卡相比,千益畅行旅游卡对同行人数的限制更宽松,单卡支持 2 至 6 人同时出行,能满足小团体、家庭等多人出行需求,为多人共同出游提供了便利和优惠。 2、服务模式多样: 1&#xf…

前端月中总结

1、领导一拍脑门想要一个内部聊天软件 --基于open IM二次开发 背景 前段时间不是接手了一个内部办公软件的项目嘛,这个项目已经写了三四年了,一代代的前端融合了不知到多少种代码风格,再加上最初搭这个项目架子的人不知道咋想的&#xff0c…

操作系统 ---- 进程的概念、组成、特征

学习路线: 一、进程的概念及组成 我们通过一个例子来说明进程的概念以及程序和进程的区别。 我们在Windows操作系统中打开任务管理器,在任务管理器当中能看到此时系统当中运行的进程有哪些,如下图所示: 此时&#…

H5漂流瓶社交系统源码

一个非常有创意的H5漂流瓶社交系统源码,带完整前端h5和后台管理系统。 环境:Nginx 1.20.1-MySQL 5.6.50-PHP-7.3 代码下载

一家电子信息企业终止,前五大客户收入占比超九成,募资合理性存疑

兴天科技终止原因如下:首先,兴天科技前五大客户收入占比约超九成,客户集中度较高且高于行业平均水平,其中近期来自第一大客户收入占比超七成,单一客户依赖程度进一步上升;其次,兴天科技除第一大…

Spring boot启动过程详解

程序设计的所有原则和方法论都是追求一件事——简单——功能简单、依赖简单、修改简单、理解简单。因为只有简单才好用,简单才好维护。因此,不应该以评论艺术品的眼光来评价程序设计是否优秀,程序设计的艺术不在于有多复杂多深沉,…

ffmpeg的安装和使用教程及案例

FFmpeg的安装与使用教程 一、FFmpeg简介 FFmpeg是一个开源的、跨平台的音视频处理工具,可以用来转换、播放、录制、流化音视频数据,以及进行多种音视频编码和解码。 二、安装FFmpeg 1. Windows系统安装 下载预编译的二进制文件:从FFmpeg…

starrocks结合同步和异步物化视图建立数据湖和数据仓库

StarRocks 是一个高性能的开源 MPP(大规模并行处理)数据库,主要用于 OLAP(联机分析处理)场景。它支持各种数据操作,包括数据仓库中的大规模查询处理。同步和异步物化视图是 StarRocks 中的数据处理特性&…