zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    vue-router 滚动行为封装示例
    HTML5 History 模式 后端ngnix配置
    vue-router 嵌套命名视图
    npm 源管理 nrm
    windows系统git使用zip命令报错解决方法
    vue v-html 动态内容样式无效解决方法
    vue 项目打包 本地预览
    Vue 项目环境变量
    Oracle中的统计信息
    宽表和窄表的区别---字段
  • 原文地址:https://www.cnblogs.com/wjup/p/10576079.html
Copyright © 2011-2022 走看看