有没有办法在收到一定数量的字节后停止从URL下载?
在PHP中有:
$contents = @file_get_contents($page, FALSE, NULL, 0, 40000);
第五个参数告诉file_get_contents在40000字节后停止下载。我基本上在寻找类似Python的东西。在Google上搜索和阅读文档并没有产生任何结果。帮助会很棒,我是Python的新手。
感谢。
答案 0 :(得分:5)
如果您使用urllib.urlopen
:
>>> import urllib
>>> u = urllib.urlopen('http://stackoverflow.com')
>>> x = u.read(1000)
>>> len(x)
1000
>>> u.close()
urllib.urlopen
返回类似文件的对象;您可以指定要下载的字节数。
>>> import requests
>>> r = requests.get('http://stackoverflow.com', stream=True)
>>> x = next(r.iter_content(1000), '')[:1000] # iter_content() could yield more than requested; need [:1000]
>>> len(x)
1000
答案 1 :(得分:0)
我不是python的专家,但这似乎可以完成这项工作:
req = urllib2.urlopen(url)
CHUNK = 4000
chunk = req.read(CHUNK)