玩爬虫封IP是最头痛的事情!从零搭建异步爬虫代…
2018-08-05 07:51:20来源:博客园 阅读 ()
如何使用
安装 Redis
项目数据库使用了 Redis,Redis 是一个开源(BSD 许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。所以请确保运行环境已经正确安装了 Redis。安装方法请参照官网指南。
进群:125240963 即可获取数十套PDF哦!
运行服务器,启动 web 服务
总体架构
项目主要几大模块分别是爬取模块,存储模块,校验模块,调度模块,接口模块。
- 爬取模块 负责爬取代理网站,并将所得到的代理存入到数据库,每个代理的初始化权值为 INIT_SCORE。
- 存储模块 封装了 Redis 操作的一些接口,提供 Redis 连接池。
- 校验模块 验证代理 IP 是否可用,如果代理可用则权值 +1,最大值为 MAX_SCORE。不可用则权值 -1,直至权值为 0 时将代理从数据库中删除。
- 调度模块 负责调度爬取器和校验器的运行。
- 接口模块 使用 sanic 提供 WEB API 。
删除权值小于等于 score 的代理
sanic 性能测试
使用 wrk 进行服务器压力测试。基准测试 30 秒, 使用 12 个线程, 并发 400 个 http 连接。
测试 http://127.0.0.1:3289/pop
Requests/sec: 3081.87
关闭 sanic 日志记录,测试 http://127.0.0.1:3289/
可以看到其实性能是非常棒的,成功率极高。 wink
实际应用示例
划重点:aiohttp supports HTTP/HTTPS proxies
但是,它根本就不支持 https 代理好吧,在它的代码中是这样写的。
划重点:Only http proxies are supported
我的心情可以说是十分复杂的。astonished 不过只有 http 代理效果也不错没什么太大影响,参见上面的测试数据。
参考借鉴项目
- ProxyPool
- proxy_pool
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 小白如何入门 Python 爬虫? 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- python爬虫学习之爬取超清唯美壁纸 2019-08-13
- python爬虫学习之用Python抢火车票的简单小程序 2019-08-13
- python爬虫常用库 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash