如果我有一个URL,当在Web浏览器中提交该URL时,会弹出一个对话框来保存一个zip文件,我将如何在Python中捕获并下载该zip文件?
大多数人建议使用requests
它(如果可用),而requests
文档建议使用此方法从URL下载和保存原始数据:
import requests
def download_url(url, save_path, chunk_size=128):
r = requests.get(url, stream=True)
with open(save_path, 'wb') as fd:
for chunk in r.iter_content(chunk_size=chunk_size):
fd.write(chunk)
由于答案询问有关下载和保存 zip文件的问题,因此我没有介绍有关阅读zip文件的详细信息。有关可能性,请参见下面的众多答案之一。
如果由于某种原因您无权访问requests
,则可以urllib.request
改用。它可能没有上述功能那么强大。
import urllib.request
def download_url(url, save_path):
with urllib.request.urlopen(url) as dl_file:
with open(save_path, 'wb') as out_file:
out_file.write(dl_file.read())
最后,如果您仍在使用Python 2,则可以使用urllib2.urlopen
。
from contextlib import closing
def download_url(url, save_path):
with closing(urllib2.urlopen(url)) as dl_file:
with open(save_path, 'wb') as out_file:
out_file.write(dl_file.read())
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句