• python 3 实现文件下载的方法总结


    新学的python,兴奋不已,于是网上各种资源各种爬,发现对于同样文件下载,各个下载方法的速度是不一样的(目前就知道两种方法下载#尴尬)

    下面分别看下吧:

    下载同样的图片,方法二的速度是方法一的二倍

    方法一:刚开始爬贴吧图片学习到的

    使用 urllib.request模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。

    方法

    urlretrieve(url, [filename=None, [reporthook=None, [data=None]]])

     说明:

    • 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)

    • 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。

    • 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。

    代码实例:

    import urllib.request 
        
    url = “https://xxx.com/xxx.jpg”
    urllib.request.urlretrieve(imgurl, '{0}{1}.jpg'.format(paths, x))

    方法二:使用requests模块保存文件

    实例代码:

    import requests
    import os
    
    res = requests.get(img_url)
    with open('{}{}{}.jpg'.format(end_path, '\', z), 'wb') as f:
      f.write(res.content)
  • 相关阅读:
    angular.isDefined()
    angular.isDate()
    angular.isArray()
    .NET中栈和堆的比较
    SQL Server 2012配置Always On可用性组
    一分钟了解负载均衡的一切
    C# 线程并发锁
    获取Http请求参数
    什么是WCF
    Bitmap算法应用
  • 原文地址:https://www.cnblogs.com/wjup/p/10576079.html
Copyright © 2020-2023  润新知