Download
下载网络数据的几种方式,以下载图片为例
urllib
'''保存 url 对应数据到本地'''
urllib.request.urlretrieve(url, filename)requests
'''保存 url 对应数据至 filepath 文件'''
res = requests.get(url, headers=headers, timeout=20)
with open(filepath, 'wb') as f:
f.write(res.content)或者使用下面的分块下载,这样可以下载大文件。
res = requests.get(url, headers=headers, timeout=20)
with open(filepath, 'wb') as f:
for chunk in res.iter_content(chunk_size=32):
f.write(chunk)不使用with ... as也可以,判断状态码为200后保存至文件。
res = requests.get(url, headers=headers, timeout=20)
if res.status_code == 200:
open(path, 'wb').write(res.content)如果使用 session 的话,则稍加修改
requests这4中方式大同小异,下载方式都是requests.get 或 session.get, 只是保存方式略有不同。
scrapy
telethon
在使用 telethon 下载 telegram 的媒体文件时,使用其API函数 download_media 即可。
Last updated
Was this helpful?