博主個人網站:https://chenzhen.online
使用Python中提供的urllib.request
下載網上的文件
#coding=utf-8
"""
目標:提供一個函數能夠從網上下載資源
輸入:
url列表
保存路徑
輸出:
保存到指定路徑中的文件
要求:
能夠實現下載過程,即從0%到100%可視化
"""
# =====================================================
from six.moves import urllib
import os
import sys
def download_and_extract(filepath, save_dir):
"""根據給定的URL地址下載文件
Parameter:
filepath: list 文件的URL路徑地址
save_dir: str 保存路徑
Return:
None
"""
for url, index in zip(filepath, range(len(filepath))):
filename = url.split('/')[-1]
save_path = os.path.join(save_dir, filename)
urllib.request.urlretrieve(url, save_path)
sys.stdout.write('\r>> Downloading %.1f%%' % (float(index + 1) / float(len(filepath)) * 100.0))
sys.stdout.flush()
print('\nSuccessfully downloaded')
def _get_file_urls(file_url_txt):
"""根據URL路徑txt文件,獲取URL地址列表
Parameter:
file_url_txt: str txt文件本地路徑
Return:
filepath: list URL列表
"""
filepath = []
file = open(file_url_txt, 'r')
for line in file.readlines():
line = line.strip()
filepath.append(line)
file.close()
return filepath
if __name__ == '__main__':
file_url_txt = 'file_url_txt.txt'
save_dir = 'save_dir/'
filepath = _get_file_urls(file_url_txt)
download_and_extract(filepath, save_dir)