免费代理池-初级版本

这是初级代理池的github地址

代理这个对于爬虫而言是必要的,很多网站也提供了一些免费的代理,不过其中也只有一部分可用,当我们只是学习性的爬取某些网站,如果需要一定量的代理,就需要在很多免费代理网站中提取有用的代理。

我这段时间在学爬虫,理所当然的需要代理,就自己写了一个代理池。

因为还在学习的初级阶段,所以代码可能写的不那么规范,请大家将就着看吧。
用到的知识:

  • xpath、re、pyquery 提取网页IP和端口(觉得哪个方便使用哪个)
  • requests模块访问百度测试代理是否可用
  • redis数据库存储可用代理
  • HTTP服务器的实现(从代理池中获取只需获取http://127.0.0.1:端口 返回的内容,方便其他程序使用,并未使用第三方库和框架,通过tcp套接字实现的)

在github上看到很多大佬写的代码,发现自己写的有很多不足,会出下一个版本,以弥补以下不足:

  • 项目编写规范的问题(感觉一个好的代码就是要让小白看不懂,大佬立马懂)

  • 请求百度的时候,网络IO耗费时间太长(应该使用异步请求,多线程也行)

  • 存储数据库的时候也可以使用异步操作(这个时间不长,但可以改进)

    最后在自学asyncio的时候发现相关文章比较少,而且大都还很雷同,英文文档也看不懂(试着网页翻译,还是看不懂),在这里求教懂sayncio的各位。

你可能感兴趣的:(Python)