不去亲自尝试做一些事,就不知道自己有多少不懂的知识,更不知道原来自己也能独立完成一些事。
相对于上一个版本,有以下改进:
- 所有网站只用正则表达式提取代理
- 对于编写规范的问题做了改进
- 爬取免费代理网站和测试代理时使用的是asyncio和aiohttp,增快了运行效率
- 本地HTTP服务端使用的是aiohttp.web
因为aioredis只支持Linux,就没有折腾了。所以在运行时间上还是比较长的,大概爬取所有网站(总共六七十个网页)需要十几秒,测试所有代理需要几秒,可能每个人都要些许差异。然后在设计上,程序是每5分钟验证一次数据库中代理是否有效。
爬下来的总代理数为一千三百多,筛选之后会有五六百的代理能用,但通过requests测试发现还是有大概5%的代理失效,这失效速度有点快。
当代理池IP不够,可以重新打开程序获取,因为免费代理网站更新速度一般很快。