python下载文件函数 python 下载文件

求教python,如何用python自动下载文件

可以使用requests模块完成下载

10年积累的成都做网站、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有余江免费网站建设让你可以放心的选择与我们合作。

# --------------------第一种:使用headers携带cookie-----------------------------

# coding = utf-8

import requests

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64),  

'Cookie':'你的cookies',

}

# 发起请求,获取二进制数据

html_str = requests.get(url,headers=headers).content

# 写入文件,采用二进制写入文件

with open('路径/文件名.后缀','wb') as f:

f.write(html_str)

# --------------------第二种:在requests直接携带--------------------------------

# coding = utf-8

import requests

headers = {

'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64),  

}

cookies = {你的cookies,这里必须是以键值对,也就是字典的形式}

# 发起请求,获取二进制数据

html_str = requests.get(url,headers=headers,cookies = cookies).content

# 写入文件,采用二进制写入文件

with open('路径/文件名.后缀','wb') as f:

f.write(html_str)

下载python然后有一堆文件要解压

python一堆文件解压方法如下。

压缩包解压要用的是zipfile这个包。

zip_file = zipfile.ZipFile(r'D:\数据源\XX_%s.zip'%yday)

zip_list = zip_file.namelist() # 压缩文件清单,可以直接看到压缩包内的各个文件的明细

for f in zip_list: # 遍历这些文件,逐个解压出来,

zip_file.extract(f,r'D:\数据源')

zip_file.close() # 不能少!

print('昨日日志解压完成,请在文件夹中验收!') # 当然我是不需要查收的(*/ω\*)

这里的解压操作实际就相当于鼠标右键“解压到当前文件夹”的效果。

完成解压后运行.close()是个比较好的习惯,否则可能会导致包括但不限于:

文件会一直被占用着,可能无法重新打开;

在进程结束之前文件都删不掉;

文件内容不能即时 flush 到磁盘直到进程结束;

到此,整个流程在无需打开浏览器和文件夹的情况下便自动完成了。

为了方便日常运行代码,这里把上面的两个流程包装成一个函数,下载解压

#下载昨日日志

def download_XXlog():

yday = (date.today()+timedelta(days=-1)).strftime('%Y%m%d') # 获取昨日日期

r =  requests.get(''%yday) # 获取以日期命名的压缩包信息

with open(r'D:\数据源\XX_%s.zip'%yday,'wb') as code: # 将压缩包内容写入到 "D:\数据源\" 下,并按日期命名

code.write(r.content)

print('昨日XX日志下载完成。')

zip_file = zipfile.ZipFile(r'D:\数据源\XX_%s.zip'%yday)

zip_list = zip_file.namelist() # 压缩文件清单,可以直接看到压缩包内的各个文件的明细

for f in zip_list: # 遍历这些文件,逐个解压出来,

zip_file.extract(f,r'D:\数据源')

zip_file.close() # 不能少!

print('昨日日志解压完成,请在文件夹中验收!')

download_XXlog()

拓展

作为拓展,这里再加一个可以根据实际情况输入(input)起始和终止日期,来下载一个特定时间段日志的函数,这里就涉及了datetime和time这两个工具包了。

请教如何用python下载文件到本地

知道文件的url地址就用urllib模块的urlretrieve函数。urllib.urlretrieve(url,

filename)filename是要保存到本地的文件名。函数后面还有2个可选参数,要用就看帮助文档吧。多线下载的话,每一线程要指定下载服务器上文件的哪一块。http协议中head里可以指定Range。下面用的是urllib2模块request

=

urllib2.Request(url)request.add_header("Range",

"bytes=%d-%d"%(1024,

204)

#指定下载文件的范围opener

=

urllib2.build_opener()data

=

opener.open(request).read()现在data里面就是文件的1024字节到2048字节的内容。

python如何实现文件的下载,请尽量详细,高分!!!

import

os,urllib.request,re

os.chdir(r'd:')

data

=

urllib.request.urlopen(url).read()

with

open(filename,

'wb')

as

f:

f.write(data)

url就是你要下载的文件链接,filename就是下载后保存的文件名。这段代码是把文件下载在d盘根目录下,你可以自己修改。

不过是单线程的,想要多线程下载,比较复杂,我没有试过,这个下载小文件还是没有问题的。

怎么把Python ftplib 中下载文件名写成函数?

拼装后作为参数:

cmd = 'RETR ' + name()

frp.retrbinary(cmd, file_handel, bufsize)


当前标题:python下载文件函数 python 下载文件
URL网址:http://azwzsj.com/article/hjeeis.html