2009-08-03 117 views
3

有没有办法限制python的urllib2模块下载的数据量?有时候我会遇到一些破碎的网站,它们会以/ dev/random作为页面,并且事实证明它们会占用服务器上的所有内存。限制下载的页面大小

回答

3

urllib2.urlopen返回一个类似文件的对象,您可以(至少在理论上).read(N)从这样一个对象中最多返回到N个字节的数据量。

这种方法并不完全是傻瓜式的,因为一个积极敌对的网站可能会花费相当长的时间来愚弄一个合理可靠的接收,比如urllib2的默认开启者;在这种情况下,您需要实现并安装自己的开瓶器,以便知道如何防范这种攻击(例如,从开放套接字等获得的MB一次不超过一个MB)。