原创作品:首发u3v3, 转载请保留
作者ID:noomrevils
首发日期:2017.3.5
Python学习群:278529278 (欢迎交流)
前言
需求
相信用python写过爬虫的人都有听说或使用过代理的经历,网络上提供了很多免费的代理,也有很多收费代理提取接口,但是实际在使用这些代理的时候,往往会有速度慢,无法连接,非高匿,插入广告或统计代码等种种问题,本文的初衷就是提供一个验证代理的思路和简版的代码实现,通过定时的任务可以验证代理的有效性,维护一个可用的代理池。
思路
为了实现验证的功能,需要有一个页面能够展示通过代理的请求信息,比如说,ip地址,请求头。
这些信息可以帮助判断代理是否高匿,同时检查这个页面返回html, 可以知道,代理是否向其中添加了额外的信息(广告,统计)
然后在client端,我们通过代理请求这个页面,解析返回的页面内容,完成代理可用性的验证
验证接口&页面实现
处理请求函数
Python的Web框架选用的是Bottle, 简单但能够说明问题。
from bottle import request, route, run, template
@route('/')
def index():
headers = {}
for key in request.headers.keys():
headers[key] = request.he