ProxyPool Golang 实现的 IP 代理池 ProxyPool

blov2017-03-30 08:00:14 • 3372 次点击    
这是一个分享于 2017-03-30 08:00:14 的项目,其中的信息可能已经有所发展或是发生改变。

采集免费的代理资源为爬虫提供有效的代理

代理池由四部分组成:

Getter:

代理获取接口,目前有6个免费代理源,每调用一次就会抓取这个6个网站最新的100个代理放入Channel,可自行添加额外的代理获取接口;

Channel:

临时存放采集来的代理,通过访问稳定的网站去验证代理的有效性,有效则并存入数据库;

Schedule:

用定时的计划任务去检测数据库中代理IP的可用性,删除不可用的代理。同时也会主动通过Getter去获取最新代理;

Api:

代理池的访问接口,提供get接口输出JSON,方便爬虫直接使用。

Api:

api接口相关代码,提供get接口,输出JSON;

Storage:

数据库相关代码,数据库采用Mongo;

Getter:

代理获取的相关代码,目前抓取:快代理代理66IP181有代理西刺代理guobanjia这个六个网站的免费代理,经测试这些网站每天更新的可用代理只有六七十个,当然也支持自己扩展代理接口;

Schedule:

定时任务,目前在main.go中以轮询方式实现,后期会改进;

Util:

存放一些公共的模块、方法或函数,包含Config:读取配置文件config.json;

其他文件:

配置文件:config.json,数据库配置和代理获取接口配置;

下载代码:

配置好相应的config.json并启动:

使用:

HTTP

Golang实现的IP代理池Read More

Latest commit to the master branch on 9-4-2023
Download as zip
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
3372 次点击  
加入收藏 微博
1 回复  |  直到
henson
henson · #1 · 7年之前

感谢推广

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传