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

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.mrgr.cn/news/23096.html

相关文章:

  • 找不到ucrtbased.dll无法继续执行代码怎么办,总结5个方法
  • 【C++ Primer Plus习题】14.2
  • JAVA springboot面试题今日分享
  • C语言从头学57——学习头文件locale.h
  • llvm后端之函数栈帧的创建与销毁
  • C语言深入理解指针5
  • LeetCode之区间
  • Pygame中Sprite类实现多帧动画3-3
  • 宽哥之家小程序任务脚本
  • 关于使用 @iconify/vue2图标库组件的离线使用
  • 【大数据】如何读取多个Excel文件并计算列数据的最大求和值
  • 数据结构与算法-morris遍历
  • 三、TOGAF(概述)
  • Python中的接口艺术:从概念到实战
  • leetcode 101.对称二叉树
  • OpenCV-轮廓检测
  • 开放式耳机具备什么特点?2024排行前十的四款百元蓝牙耳机推荐
  • 深入探讨:为什么会出现 0.30000000000000004 以及如何避免浮点数精度问题
  • 猫咪浮毛有这么严重?你不知道的浮毛清理好物——宠物空气净化器
  • 基于IndexDB+md-editor-v3实现的简单的文章书写小系统