作业3:基于Redis和Flask代理池的维护

1.   支持windows,linux等各大平台,需要安装python3,redis,以及相应的python库

2. 为何使用代理?

     a)      首先,网络上有些网站,会被电信服务商所屏蔽,你正常访问的话是打不开这些网站的,如果使用代理的话,就可以越过电信封锁,访问这些网站。

     b)      其次,有些时候,我们要通过爬虫获得一些信息,要防止由于过度访问而被屏蔽,所以此时我们可以通过不断地更换ip来防止这一事件的发生

     c)      最后,当然就是隐蔽了,可以匿名的

3.   基本实现原理

   首先,从各大网站中爬取免费代理ip,通过过滤器,去除一些不能使用的IP,并把可以用的IP存储到redis库里,并设置一个定时检测器,每隔相应的时间检测并剔除一些不能使用的IP,若数据库里的代理小于一定数量可以自动补充。最后设置了一个api接口,可以通过接口直接访问获取代理

4.  运行结果

  通过API接口,可以通过输入:http://127.0.0.1:5000/ 链接接口,通过http://127.0.0.1:5000/get,获得相应的IP代理,页面刷新会自动更新IP代理,http://127.0.0.1:5000/count,可以获得当前总的IP代理数

5.   实用性分析以及演进方向分析:

  a)  虽然各大网站提供了一些免费的IP代理,但是每次都通过网页获取,太麻烦,且一个个获取,量也很少,不能满足要求,其次,这些IP代理不是针对某一个网站的,不能总是获得最有IP代理。而本产品解决了该问题。

  b)  在未来,本产品可以这样演化,根据用户的需要,对数据库里的IP代理自动打分并排序,为用户自动生成相应的文件供用户使用,

  c) 紧接着,从技术上讲,IP代理,其实从原理上讲和cookies池的维护有一些相似,考虑到一些用户需要大流量的爬虫一些网站,比如一些微博,知乎……,而这些网站很多都是要登陆的,故而可以设置一个新的概念-代理cookies池,为相应的用户提供服务。

6. 总结:

  总的来说,该产品功能还比较单一,操作起来比较麻烦,有待进一步完善 百度网盘 xvt9

  

猜你喜欢

转载自www.cnblogs.com/ustc-lx/p/9771820.html
今日推荐