17.Requests【接口响应】解析静态文件响应(文件下载)
一、前言
像文本,图片,视频,音乐等能打开的文件,称之为静态资源,请求获取静态资源也叫文件下载。
二、学习目标
1.文件下载
2.爬虫案例
三、知识点
1.【获取静态文件】
静态资源文件,是通过res.content来获取文件的二进制内容,将二进制内容写入文本即可达到下载文件的效果。
代码示例:
import requests
url = 'http://httpbin.org/robots.txt'
res = requests.get(url)
#获取响应内容
res_con = res.content #获取二进制内容
#将二进制内容写入文件(文件下载)
with open('robots.txt','wb') as f: #写入文件
f.write(res_con)
2.【爬虫案例】
# coding:utf-8
import requests
import re
import os
if not os.path.exists("./qiutu"):
os.mkdir("./qiutu")
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36"
}
for page in range(1,14):
url = "https://www.qiushibaike.com/imgrank/page/%d/"%page
print("loading..."%page)
page_text = requests.get(url=url,headers=headers).text
ex = '<div class="thumb">.*?<img src="(.*?)" alt=.*?</div>'
image_src_list = re.findall(ex,page_text,re.S)#S是单行,M是多行
for src in image_src_list:
src = "https:" + src
image_data = requests.get(url=src,headers=headers).content
img_name = src.split('/')[-1]#切分路径/之后的内容
img_path = "./qiutu/" + img_name
with open(img_path,'wb') as fp:
fp.write(image_data)#写入数据
print(img_name,'下载成功!!!')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?