2009-08-03 128 views
3

有沒有辦法限制python的urllib2模塊下載的數據量?有時候我會遇到一些破碎的網站,它們會以/ dev/random作爲頁面,並且事實證明它們會佔用服務器上的所有內存。限制下載的頁面大小

回答

3

urllib2.urlopen返回一個類似文件的對象,您可以(至少在理論上).read(N)從這樣一個對象中最多返回到N個字節的數據量。

這種方法並不完全是傻瓜式的,因爲一個積極敵對的網站可能會花費相當長的時間來愚弄一個合理可靠的接收,比如urllib2的默認開啓者;在這種情況下,您需要實現並安裝自己的開瓶器,以便知道如何防範這種攻擊(例如,從開放套接字等獲得的MB一次不超過一個MB)。