Python数据采集与爬虫爬虫网络爬虫

python 构建代理池1.0版

2017-04-04  本文已影响292人  起个名忒难

代理池

三天小长假, 朋友圈都被刷屏了,各种的照片,景色。真是不孬。 长的帅的约会去了,有钱的旅游去了,长的丑还没有钱的只能在家撸代码了。 朋友圈都是各种晒 ,其实我也晒了,我晒得被子。

我不笑
一直以来都想做一个代理池,但是一直都没有时间(其实是懒)。不过趁着这个小假期,终于搞出来了,实现了设想的基本功能,其他的功能后面再完善。
代码已经上传GitHub : https://github.com/topyuluo/IPProxyPool

下面详述:

自动携带避雷针

环境

windows(64) + python 2.7 + MongoDB + phantomjs + selenium + requests

设计思想

设计

ip代理池程序由四部分组成:

框架图
框架.png
流程概述

启动Schedule, 由Scheduler调用collectProxy,去请求网络资源,collectProxy拿到数据后解析,并将解析好的数据返回给scheduler,数据入库,sheduler 验证数据库中已经存在的proxy, 验证成功,放入新表中。 此为周期性任务。
需要接入代理的爬虫,通过访问数据库或者api接口拿代理,如果此时可用代理数量不足,调用下载程序去网络采集新的数据。如果爬虫通过proxy没有成功请求到数据,此ip废弃,从验证成功库中删除,并请求一个新的proxy。考虑了一下,可能做成API的方式扩展性更好一些,直接调用网址就可以了,通用性更强。

项目目录

目录.png
目录接口说明
程序效果

调度任务执行效果:

调度任务运行效果.png

数据库截图

*所有ip库 *

Paste_Image.png
已验证ip库 Paste_Image.png

api截图

Paste_Image.png

使用说明:



少年听雨歌楼上,红烛昏罗帐。  
壮年听雨客舟中,江阔云低,断雁叫西风。
感谢支持!
                                        ---起个名忒难

上一篇下一篇

猜你喜欢

热点阅读