python-根据URL地址下载文件

使用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)
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值