幽门梗阻

注册

 

发新话题 回复该主题

如何构建自己的代理池 [复制链接]

1#

1.代理池开发环境

平台:Mac,可以运行Windows和Linux上(这里使用的是Win10环境开发)

开发语言:Python3(博主使用的是python3.8)

开发工具:PyCharm

使用到的主要技术:

requests:用来发送请求,获取页面数据

lxml:使用XPATH从页面提取我们想要的数据

pymongo:吧提取到的代理IP存储到MongoDB数据库中读取代理IP,给爬虫使用

Flask:用于提供web服务

1.1代理池工作流程

代理池的工作流程图

代理池工作流程文字描述

代理IP采集模块-采集代理IP-检测代理IP-如果不可用,直接过滤掉,如果可用,指定默认分数-存储到数据库中

代理IP检测模块-从数据库中获取所有代理IP-检测代理IP-如果代理IP不可用,就把分数-1,如果分数为0从数据库中删除,否则更新数据库,如果代理IP可用,修复为默认分值,更新数据库

代理API模块-从数据库中提取高可用的代理IP给爬虫使用

1.2代理池的模块及其作用

代理池分五大核心模块

爬虫模块:采集代理IP

从代理网站上采集代理IP

进行校验(获取代理响应速度,协议类型,匿名类型)

把可用代理IP存储到数据库中

代理IP的校验模块:获取指定代理的响应速度,支持的协议以及匿名程度

原因:网站上所标注的响应速度,协议类型和匿名类型是不准确的

这里使用

分享 转发
TOP
发新话题 回复该主题