python-根據URL地址下載文件


博主個人網站: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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM