requestspython下载文件
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('http://XXXXXXXX/XX_%s.zip'%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的requests模块下载文件
importrequests
res=requests.get('http://www.xx.xx/xxxx/xx.dat')
res.raise_for_status()
newfile=open('/home/xx/xx.dat','wb')#本地文件
forchunkinres.iter_content(10240):
newfile.write(chunk)
newfile.close()
③ Python安装requests库, 总不能成功, 一直提醒"不是内部或外部命令,也不是可运行的程序或批处理文件"
连在windows下安装都不知道,看你的setup.py的位置是在d盘下的requests文件夹中,那么首先应该在命令行输入cd d:\requests这条命令,然后在输入d:这个命令,应该就切换到安装路径,然后在执行python setup.py install,基本的cmd命令不熟,当然安装不了。
④ 为什么同样下载一个文件,手动使用浏览器或者下载工具比python程序直接使用requests库要快得多
因为下载工具或者浏览器里自带的下载组件一般都会使用多线程下载,或者使用了一些线路优化功能,特别是下载工具,一般会有自己的优化线路,以及p2p下载这样的功能,可以加速下载,而你自己写的request方法也没有这样的功能,是直接从原始站点单线程下载,相比之下,肯定会比下载工具的要慢一些。
⑤ python问题 为什么下载不了图片
img_data=requests.get(url=url).content
>>
res = requests.get(url=url)
要确保 res.status_code 为 200
估计主要问题在于你没有设定 headers,这个是防爬虫最基本的一步。
你设定 headers 里面的 user-agent 看看。
headers = {'User-agent':''}
后面填上你自己的 user-agent
res = requests.get(url, headers=headers)
⑥ windows 下怎么安装python requests 模块
一般是安装好python之后。打开命令提示符,输入pip install requests就可以安装,如果提示没有找到pip命令。那么你就去找你的python的安装包的位置,里面有个文件夹叫scripts,找到后,再执行 安装目录\Scripts\pip install requests就可以了。我的python安装目录是C:\Python34所以,我打开命令提示符,然后输入C:\Python34\Scripts\pip install requests就可以安装了。
⑦ python使用response下载txt文件到本地
1.执行x请求,获取response
2.提取response中list,把list中需要的值循环写入1.txt文件
实现如下
#tokensso是变量,取值于登录接口的response.data.token
url = "https://xxxx"
request_headers = {
"Authorization": tokensso,
"Content-Type": "application/json"
}
login_data = {
"approvalFlg": "false",
"pageNo": 1,
"pageSize": 300,
"processInstanceNameOrUserName": "",
"sortType": 1
}
res1 = requests.post(url, json=login_data, headers=request_headers).json()
list=res1.get("data").get("list")
#打开data文件夹下1.txt
file_handle = open('data/1.txt', mode='w')
for i in range(len(list)):
reAppPageId=list[i].get("reAppPageId")
reInsRecipientId=list[i].get("reInsRecipientId")
reInstanceId=list[i].get("reInstanceId")
#循环写入1.txt文件
file_handle.write(tokensso+","+reAppPageId+","+reInsRecipientId+","+reInstanceId+"\n")
