asyncio+aiohttp异步代理池

asyncio+aiohttp异步代理池


异步代理池 github地址
初级版本代理池 博客地址
经历了好几天时间,终于将asyncio初步了解,不过使用起来还是只能照搬硬套。

不去亲自尝试做一些事,就不知道自己有多少不懂的知识,更不知道原来自己也能独立完成一些事

相对于上一个版本,有以下改进:

  • 所有网站只用正则表达式提取代理
  • 对于编写规范的问题做了改进
  • 爬取免费代理网站和测试代理时使用的是asyncio和aiohttp,增快了运行效率
  • 本地HTTP服务端使用的是aiohttp.web

因为aioredis只支持Linux,就没有折腾了。所以在运行时间上还是比较长的,大概爬取所有网站(总共六七十个网页)需要十几秒,测试所有代理需要几秒,可能每个人都要些许差异。然后在设计上,程序是每5分钟验证一次数据库中代理是否有效。

爬下来的总代理数为一千三百多,筛选之后会有五六百的代理能用,但通过requests测试发现还是有大概5%的代理失效,这失效速度有点快。

当代理池IP不够,可以重新打开程序获取,因为免费代理网站更新速度一般很快。

猜你喜欢

转载自blog.csdn.net/Qwertyuiop2016/article/details/83543244