提示:本章内容仅供参考,不涉及实际使用。

Proxy Pool代理池搭建

  • 前言
  • 一、环境准备
  • 二、搭建过程
    • 1.Redis数据库搭建
    • 2.Proxy-Pool代理池搭建
  • 总结

前言

本章内容仅供参考,不涉及实际使用,主要使用Python环境和Redis数据库进行环境搭建,工具网盘存储如下,有问题可以私聊我。
网址:https://wwgn.lanzoul.com/b03w0tvja 密码:am5m

一、环境准备

1、Python3.10/.7
2、Redis5.0.10
3、Proxy-pool2.4.1

二、搭建过程

1.Redis数据库搭建

1、首先确定好环境是否准备好,提前安装好Python3.10.7环境。

2、环境准备好后,首先配置Redis数据库环境,进入到Redis数据库的根目录文件夹,在文件夹中打开cmd窗口,输入命令启动redis服务。
命令:redis-server.exe redis.windows.conf

3、确定能够启动redis服务后,将该窗口关闭,接下来需要将redis服务安装到Windows服务中,新开一个cmd窗口,输入命令将redis安装到Windows服务中,安装完成后,打开运行框输入services.msc打开服务,查看是否成功安装redis服务。
命令:redis-server.exe --service-install redis.windows.conf

4、确定添加成功后,再次通过命令启动redis服务,关闭所有cmd窗口,再打开一个新的cmd窗口,输入命令启动redis服务。(start代表开启,stop代表关闭)
命令:redis-server.exe --service-start

5、接下来测试是否成功开启redis服务,输入命令,如出现下列信息则代表开启成功。
命令:redis-cli.exe -h 127.0.0.1 -p 6379

2.Proxy-Pool代理池搭建

1、首先要安装依赖环境,这里需要注意Python版本问题,由于Proxy-pool代理池是基于Python3.6制作的,所以需要将依赖文件中的版本号进行删除,交给pip进行适应版本下载,打开requirements.txt文件,将后面的版本号连同等于号一起删除,保留如下。

2、修改完毕后,使用PIP安装依赖环境,输入命令。
命令:pip install -r requirements.txt

3、环境依赖安装完毕后,需要将Proxy-pool的配置文件进行修改,打开setting.py文件,修改数据库密码,端口号等信息,根据自己的需求进行修改。

4、配置完毕后启动项目,这里需要启动两个程序,分别是调度程序和代理池的API接口程序。首先启动调度程序,打开cmd输入命令。
命令:python proxyPool.py schedule

5、如图所示开始采集IP地址,等待IP地址采集稳定后,开启API接口程序,新开一个cmd输入命令。
命令:python proxyPool.py server

6、两个程序开启以后,测试API调用是否成功,打开浏览器,输入网址进行查看,发现IP地址每次刷新都会改变,证明API接口调用成功,实验完成。
地址:http://127.0.0.1:5010/get/

7、可使用测试程序测试代理池是否可用,代码如下(引用博客):

import requests def get_proxy(): #5000:settings中设置的监听端口,不是Redis服务的端口 return requests.get("http://127.0.0.1:5000/get/").json() def delete_proxy(proxy): requests.get("http://127.0.0.1:5000/delete/?proxy={}".format(proxy)) # 主代码
def getHtml(): retry_count = 5 proxy = get_proxy().get("proxy") print(proxy) while retry_count > 0: try: html = requests.get('http://www.baidu.com', proxies={"http": "http://{}".format(proxy)}) print(html.text) break except Exception: retry_count -= 1 # 删除代理池中代理 delete_proxy(proxy) return None getHtml()

总结

本文经过测试证实可用,常见问题包括数据库密码错误,Python版本不正确,服务运行状态检测等,排除对应故障即可正常使用,如需引用代理池可自行研究。

技术分享:Proxy-Pool代理池搭建IP代理相关推荐

  1. Python爬虫实战之:快代理搭建IP代理池(简版)

    目录 前言 项目背景 项目简介 前期准备 讲解1:项目搭建 讲解2:安装 faker 库获取user-agent 讲解3:分析 "快代理" 页面 讲解4:筛选有效IP 讲解5:Pa ...

  2. 手把手教你用Python搭建IP代理池,轻松破解请求频率限制反爬虫~

    我们所写的爬虫,它对服务器发出的网络请求频率要比正常用户的高的多,从而开发者可以将请求频率过高的用户视为爬虫程序,从而来限制爬虫程序. 今天志斌就来给大家分享一下,如何用Python搭建一个IP代理池 ...

  3. 手把手教你用Python搭建IP代理池

    今天给大家分享一下,如何用Python搭建一个IP代理池,来破解服务器通过对用户请求频率进行限制的反爬虫. 01 原理 因为客户端的IP地址是唯一的,所以开发者便将IP地址作为客户端的身份标识. 服务 ...

  4. 技术分享:如何用Solr搭建大数据查询平台

    技术分享:如何用Solr搭建大数据查询平台 0×00 开头照例扯淡 自从各种脱裤门事件开始层出不穷,在下就学乖了,各个地方的密码全都改成不一样的,重要帐号的密码定期更换,生怕被人社出祖宗十八代的我,甚 ...

  5. Scrapy学习-13-使用DownloaderMiddleware设置IP代理池及IP变换

    设置IP代理池及IP变换方案 方案一: 使用国内免费的IP代理 1 http://www.xicidaili.com # 创建一个tools文件夹,新建一个py文件,用于获取代理IP和PORT fro ...

  6. YiLu代理中住宅IP代理和数据中心/机房IP代理分析及对比

    YiLu代理的代理IP池根据代理类型分类的话主要可以分为住宅IP代理和数据中心/机房IP代理2大类,本文主要讲解下YiLu Proxy中住宅IP代理和数据中心/机房IP代理它们各自的特点以及两者之间存 ...

  7. 墨墨背单词刷分享链接访问量(动态获取IP代理池)

    墨墨背单词 分享链接刷点击量(自动获取最新IP代理池方式),以提高单词上限. 运行方式 1 Python 环境运行main.py 1.1 克隆本仓库 Github仓库 Momo-Share-Fresh ...

  8. 爬虫-Scrapy (十) 搭建ip代理池

    每一个爬虫程序员都应该有一个ip池,就像每个战士都应该有一把风剑. 一.找到一个ip代理提供商 提供ip代理的服务商很多,基本都会先提供些不稳定的免费ip,然后引导你消费,我们本次的目标就是把免费的i ...

  9. 动态可维护ip代理池搭建(定时更新模块)

    动态可维护ip代理池(爬虫模块)继上一次的爬虫模块,我们先来优化一下并添加redis配置参数,参数配置以自身机器设定. import random import time import request ...

最新文章

  1. 并发测试神器,模拟一次超过 5 万的并发用户
  2. 微软雅黑的应用[补充中]
  3. JavaScript ES2021 新特性解析
  4. 基于相关系数的影像匹配_论文推送 | 基于最优匹配算法的像控点电子点之记制作研究...
  5. 关于NSOperation的几个常见问题
  6. tween.js 中文使用指南
  7. 联通无线网卡DNS服务器地址,全国各地电信、联通、网通的DNS服务器地址
  8. 两角和与差的余弦公式的五种推导方法之对比
  9. ZOJ 3880 Demacia of the Ancients
  10. 安卓动画两种基本实现方式
  11. android sqlite同时读写,SQLite同时读写
  12. 计算机网络电子邮件的基本格式,怎样的格式才是正确的电子邮件格式?
  13. java 导入pem文件_将PEM导入Java密钥库
  14. shell脚本中的expr
  15. js前端导出Excel(可自定义文件名称,后缀,有边框样式)
  16. Java网课|apiscanner
  17. 条码打印机的场景应用及条码打印机的特点有哪些
  18. 在Flash MX中实现自由拖动图片和改变图片
  19. 嵌入式输入系统应用编程
  20. 虚拟机里的服务器怎么实现联网,如何实现nat方式的VMware虚拟机联网

热门文章

  1. Zookeeper三台机器集群搭建
  2. 数学建模 --- 绘制三维图
  3. 【无标题】积跬步,以致千里;积小流,以成江海。
  4. 微软流媒体框架DirectShow
  5. @DependsOn注解详解
  6. android8抓包
  7. H5数据可视化(高德地图绘制行政区)
  8. 信息解码(ACM)刘汝佳
  9. JetBrains IDE Support的安装
  10. Python 用pyinstaller打包python程序,生成的exe文件过大问题