用urllib2实现一个下载器的思路

下载器的构造

用urllib2实现下载器时从如下几个层面实现功能和灵活性:服务器

handlercookie

redirect, cookie, proxyurl

动做代理

timeout下载

构造请求请求

headers: ua, cookie, refererim

关于代理

网上抓取的http代理可能存在如下问题:数据

  1. 频繁的服务器内部错误
  2. 已被目标服务器屏蔽
  3. 不转发请求,响应是固定的
  4. 响应不完整

所以,对一个代理的可用性校验至少要考察状态码、数据长度、关键词三个方面。di

另外,当代理已经过上述校验,但其可靠性存疑时,如使用它开展爬虫做业,要当心状态码正常且有至关长度数据返回但返回数据实际不完整、不正确的情形,要在使用数据前进行必要的校验,若是数据无效,应将此信息反馈给下载器,以容许它将不可靠的代理从代理池中剔除。handler

相关文章
相关标签/搜索