用urllib2實現一個下載器的思路

下載器的構造

用urllib2實現下載器時從如下幾個層面實現功能和靈活性:服務器

handlercookie

redirect, cookie, proxyurl

動做代理

timeout下載

構造請求請求

headers: ua, cookie, refererim

關於代理

網上抓取的http代理可能存在如下問題:數據

  1. 頻繁的服務器內部錯誤
  2. 已被目標服務器屏蔽
  3. 不轉發請求,響應是固定的
  4. 響應不完整

所以,對一個代理的可用性校驗至少要考察狀態碼、數據長度、關鍵詞三個方面。di

另外,當代理已經過上述校驗,但其可靠性存疑時,如使用它開展爬蟲做業,要當心狀態碼正常且有至關長度數據返回但返回數據實際不完整、不正確的情形,要在使用數據前進行必要的校驗,若是數據無效,應將此信息反饋給下載器,以容許它將不可靠的代理從代理池中剔除。handler

相關文章
相關標籤/搜索