python爬虫代理ip池搭建

news2024/12/23 18:08:29

        最近大量爬取数据的时候总会遇到被封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.coloradmin.cn/o/2119316.html

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

相关文章

Linux网络协议栈的实现

网络协议栈是操作系统核心的一个重要组成部分,负责管理网络通信中的数据包处理。在 Linux 操作系统中,网络协议栈(Network Stack)负责实现 TCP/IP 协议簇,处理应用程序发起的网络请求并与底层的网络硬件进行交互。本文…

关于ansible自动化运维工具

成长路上不孤单😊【14后,C爱好者,持续分享所学,如有需要欢迎收藏转发😊😊😊😊😊😊😊!!!!&#xff…

空间工作记忆策略在控制网络和默认模式网络中的激活差异

摘要 空间位置可以通过不同的表征方式和策略在工作记忆中进行编码和维持。精细的表征方式提供了详细的刺激信息,但对认知要求较高,并且容易出现不准确的情况。精细表征中的不确定性可以通过使用粗略但稳健的类别表征来补偿。本研究采用个体差异法来识别…

如何将java文件导入idea中运行和推送到Gitee仓库问题

(注意:如果不上传到Gitee平台,就请忽略最后每个方法的最后一步) 另外如果导入的是Maven文件,先要指定好自己本地的Maven库的位置和Setting 文件,然后重新加载一下maven即可。 第一种方法 : 1、导入Java文…

C语言——将一个字符串中的元音字母复制到另一个字符串,然后输出。

写一函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。 注意,字符串b必须以\0为结束标志,C 语言中的字符串必须以 \0(空字符)结束,否则输出函数(如 puts)无法…

精益生产现场管理和改善的实战路径

精益生产,作为制造业的革新利器,不仅能够帮助企业降低成本、提升质量,还能大幅度提高生产效率。但如何将这一理念从理论转化为实际行动,真正落地于生产现场,成为许多管理者面临的难题。今天,就让天行健咨询…

【前端】探索webpack3项目build速度优化, 优化个p

文章目录 背景uglifyjs-webpack-pluginwebpack3 压缩混淆js 优化踩坑。结论 背景 webpack3 babel7 uglifyjs-webpack-plugin的项目,build起来是什么体验。 大抵是写了两个月后,发现build时间从120s激增到400s。而这400秒中,有50多秒是Ugli…

批量创建文件夹和文件——excel VBA实现

当需要创建大量文件夹及文件时,可借助excel vba 实现,如下图: 批量创建文件名为1-10的文件夹,每个文件夹内有个与文件名相同的txt文件,txt文件内的数字也跟文件名相同。 附代码: Sub CreateFoldersAndFile…

iphone13 不升级IOS使用广电卡

iPhone13的信号📶,15系统刷高版本iPCC,本帖以后不再更新!!! 自从知道可以通过刷iPCC的方式改善信号(不更新iOS大版本的情况下),尝试了各种版本。 我自己用下来总结 - 移动联通48、49、50 &…

62.以太网数据回环实验(5)

(1)UDP顶层模块代码: module udp (input wire gmii_txc ,input wire gmii_rxc ,input wire reset_n ,input wire gmii_rx_dv ,input wi…

使用FastJson2将对象转成JSON字符串时,小数转换出错

maven坐标 <dependency> <groupId>com.alibaba.fastjson2</groupId> <artifactId>fastjson2</artifactId> <version>2.0.40</version> </dependency> 问题现象&#xff1a; 问题原因&#xff1a; IOUtils.write…

RabbitMQ 高级特性——消息确认

文章目录 前言消息确认机制SpringBoot 实现消息确认NONEAUTOMANUAL 前言 前面我们学习了 SpringBoot 整合 RabbitMQ&#xff0c;并且使用 RabbitMQ 实现了几种工作模式&#xff0c;接下来我们将学习关于 RabbitMQ 的高级特性——消息确认机制&#xff0c;持久化和发送方确认。…

99.WEB渗透测试-信息收集-网络空间搜索引擎shodan(1)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;98.WEB渗透测试-信息收集-Google语法&#xff08;12&#xff09; 信息收集方向-网络空间…

探索全球实时云渲染与XR技术的多平台兼容性:谁是行业引领者?

在扩展现实&#xff08;XR&#xff09;技术与实时云渲染技术的飞速发展中&#xff0c;多平台兼容性已经成为行业技术竞争的关键要素。能够在不同的平台和设备上高效运行的解决方案&#xff0c;不仅关系到开发效率和场景多样性&#xff0c;还直接影响到用户体验和市场占有率。Pa…

续航和性能好的随身WiFi怎么选?一篇文章告诉你哪个随身WiFi值得买,格行vs华为vs中兴vs飞猫vs闪鱼

各大购物平台的大促已经开始&#xff0c;还在纠结入手哪个随身WiFi的小伙伴&#xff0c;小编今天用一篇文章告诉你哪款随身WiFi值得买 一、格行&#xff1a;成立于2009年&#xff0c;有15年的行业经验&#xff0c;是随身WiFi、物联网行业的巨头&#xff0c;销量持续保持领先&am…

活用c4d官方开发文档查询代码

当你问AI助手比如豆包&#xff0c;如何用python禁止掉xpresso标签时候&#xff0c;它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

码上进阶_刷题模块测试_用例设计

码上进阶_刷题模块测试_用例设计 系统概述&#xff1a; 码上进阶是为程序员专门打造的交流平台&#xff0c;采用主流的微服务框架和C端技术栈作为技术基础。在这个平台上&#xff0c;程序员 可以通过刷题、练习和模拟面试来提升自己的面试能力。 功能测试&#xff1a; 登录…

机器人领域超重量奖项TRO傅京孙最佳论文奖汇总【上】

更多优质内容&#xff0c;请关注公众号&#xff1a;智驾机器人技术前线 简介 IEEE Transactions on Robotics King-Sun Fu Memorial Best Paper Award这个奖项是为了表彰每年在《IEEE Transactions on Robotics》上发表的最佳论文。 以下是该奖项的一些信息&#xff1a; 奖项…

2025通信硕士找工作纪实

通信算法工程师秋招基本情况 读博难 国内读博难&#xff1a;华五以上&#xff0c;信息与通信工程专业&#xff0c;基本无普博hc&#xff0c;都是直博。偶尔有一些招普博的老师&#xff0c;是许久不科研&#xff0c;或者来了都去做横向。唯一可能的普博机会&#xff0c;是找刚入…

1.1 半导体基础知识

文章目录 半导体的特点本征半导体本征激发 杂质半导体N型半导体&#xff08;电子型&#xff09;电离施主杂质&#xff1a;多子少子 P型半导体&#xff08;空穴型&#xff09;电离受主杂质&#xff1a;多子少子 杂质半导体的示意图 PN结1、 PN 结中载流子的运动&#xff08;1&am…