项目地址 hproxy ❤️️️
[x] 多种方式进行数据存储,易扩展:
[x] 自定义爬虫基础部件,上手简单,统一代码风格:
[x] 提供 API 获取代理,启动后访问 127.0.0.1:8001/api
[x] 从代理池随机选取一个代理提供 html 源码抓取服务
[x] 定时抓取、更新、自动验证
本项目的爬虫代码全部集中于目录spider,在/spider/proxy_spider/目录下定义了一系列代理网站的爬虫,所有爬虫基于/spider/base/proxy_spider.py里定义的规范编写,参考这些,就可以很方便的扩展一系列代理爬虫
运行spider_console.py文件,即可启动全部爬虫进行代理的获取,无需定义新加的爬虫脚本,只需按照规范命名,即可自动获取爬虫模块然后运行
// http://127.0.0.1:8001/api/get?valid=1
// 返回成功,开启验证参数 valid=1 的话 speed 会有值,并且默认是开启的
// types 1:高匿 2:匿名 3:透明
{
"status": 1,
"info": {
"proxy": "101.37.79.125:3128",
"types": 3
},
"msg": "success",
"speed": 2.4909408092
}
// http://127.0.0.1:8001/api/list 列出所有代理,没有一个个验证
{
"status": 1,
"info": {
"180.168.184.179:53128": {
"proxy": "180.168.184.179:53128",
"types": 3
},
"101.37.79.125:3128": {
"proxy": "101.37.79.125:3128",
"types": 3
}
},
"msg": "success"
}
// http://127.0.0.1:8001/api/delete/171.39.45.6:8123
{
"status": 1,
"msg": "success"
}
// http://127.0.0.1:8001/api/valid/183.159.91.75:18118
{
"status": 1,
"msg": "success",
"speed": 0.3361008167
}
// http://127.0.0.1:8001/api/html?url=https://www.v2ex.com
// 随机选取代理抓取 v2ex
{
"status": 1,
"info": {
"html": "html 源码",
"proxy": "120.77.254.116:3128"
},
"msg": "success"
}
希望对你有帮助,大佬勿喷,顺便问一句,爬取亚马逊有比较好的方案么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.