用golang 实现一个代理池

2022-03-10 00:00:00 代码 项目 网站 代理 省略

背景

写爬虫的时候总会遇到爬取速度过快而被封IP的情况,这个时候就需要使用代理了。在https://github.com/henson/ProxyPool
的启发下,决定自己实现一个代理池。项目已经开源在github。

https://github.com/AceDarkknight/GoProxyCollector

2018.03.29更新

  • go 版本升级为1.9.4,使用新版本的sync.Map 提高并发读的效率

开发环境

windows 7,Go 1.8.4

数据来源

http://www.xicidaili.com
http://www.89ip.cn
http://www.kxdaili.com/
https://www.kuaidaili.com
http://www.ip3366.net/
http://www.ip181.com/
http://www.data5u.com
https://proxy.coderbusy.com

项目结构

目录作用
collector收集器,抓取各个网站的代理
result表示抓取的结果
scheduler负责任务调度,包括启动collector和入库
server启动一个web服务,提供取结果的API
storage存储结果,通过接口可以使用别的数据库
util一些常用的工具方法
verifierip的验证与入库出库

相关文章