【Github】项目名:henson/proxypool:Golang实现的IP代理池
一、项目简介
这是一个由Golang实现的IP代理池项目。它可以采集免费的代理资源,为爬虫提供有效的IP代理。代理池由Getter、Channel、Schedule和Api四部分组成。在代码实现方面,包含api接口相关代码、代理获取接口等内容,并且有配置文件来进行数据库、日志等配置。
二、核心技术
项目使用xorm来处理数据库,支持mysql、mssql、postgres和sqlite3。在采集代理资源时,目前有9个免费代理源,每调用一次Getter就会抓取这些网站最新的100个代理放入Channel。另外,用到了如clog、go – ini等多个依赖库。
三、安装及使用
由于部分代理网站的反爬技术,要正确采集代理数据需提前安装PhantomJS。首先下载项目:go get – u github.com/henson/proxypool,然后配置app.ini并启动:go build./ProxyPool。可以通过GET http://localhost:8080/v2/ip随机输出可用代理,通过GET http://localhost:8080/v2/https随机输出HTTPS代理。
四、项目总结
这个Golang实现的IP代理池项目功能较为完善,具有采集代理、验证有效性、提供接口等功能,还具备容错机制。如果大家对这个项目有任何想法,欢迎在下方留言参与讨论。