Python文件下载总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/github_37443078/article/details/79960638

1. Requests模块

import requests 
print "download with requests"
url = 'https://linux.linuxidc.com/linuxconf/download.php?file=Li9saW51eGZpbGVzL0xpbnV4JUI5JUFCJUM5JUU3LnBuZw==' 
r = requests.get(url) 
with open("Linux公社.png", "wb") as code:
     code.write(r.content)

2. Urllib函数

import urllib
import os
def Schedule(a,b,c):
    '''''
    a:已经下载的数据块
    b:数据块的大小
    c:远程文件的大小
   '''
    per = 100.0 * a * b / c
    if per > 100 :
        per = 100
    print '%.2f%%' % per
url = 'https://linux.linuxidc.com/linuxconf/download.php?file=Li9saW51eGZpbGVzLzIwMTLE6tfKwc8vMtTCLzEwyNUvtO3C5NPQ1sK1xFVidW50dbjfx+Wx2ta9L1VidW50dS5qcGc=.'
local = os.path.join('D\:OutPut', 'Ubuntu.jpg')
urllib.urlretrieve(url,local,Schedule)

其中

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

  • 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
  • 参数 reporthook 是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度。
  • 参数 data 指 post 到服务器的数据,该方法返回一个包含两个元素的(filename, headers)元组,filename 表示保存到本地的路径,header 表示服务器的响应头。

参考资料:http://www.nowamagic.net/academy/detail/1302861

阅读更多

没有更多推荐了,返回首页