标题 | 详情 |
---|---|
作者简介 | 愚公搬代码 |
头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。 |
近期荣誉 | 2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。 |
博客内容 | .NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。 |
欢迎 | 👍点赞、✍评论、⭐收藏 |
文章目录
- 🚀前言
- 🚀一、文件的存取
- 🔎1.📝 Python文件操作详解:TXT文件存储与读取
- 🦋1.1 文件存储基础
- ☀️1.1.1 open()函数核心参数
- ☀️1.1.2 文件模式详解
- 🦋1.2 实战存储示例
- 🦋1.3 文件读取技术
- ☀️1.3.1 读取指定字符
- ☀️1.3.2 指针定位读取
- ☀️1.3.3 逐行读取
- ☀️1.3.4 批量读取所有行
- 🦋1.4 关键注意事项
- 🦋1.5 性能对比测试
- 🦋1.6 扩展应用:CSV交互
- 🔎2.📊 Pandas数据存储指南:CSV与Excel文件操作详解
- 🦋2.1 CSV文件存储技术
- ☀️2.1.1 核心方法:`DataFrame.to_csv()`
- ☀️2.1.2 参数速查表
- ☀️2.1.3 实战示例
- ☀️2.1.4 文件输出对比
- 🦋2.2 Excel文件存储技术
- ☀️2.2.1 核心方法:`DataFrame.to_excel()`
- ☀️2.2.2 参数速查表
- ☀️2.2.3 实战示例
- ☀️2.2.4 Excel文件输出效果
- 🦋2.3 格式控制技巧
- ☀️2.3.1 浮点数精度控制
- ☀️2.3.2 中文编码处理
- ☀️2.3.3 多工作表操作
- 🦋2.4 常见问题解决方案
- 🦋2.5 格式对比与选择建议
🚀前言
在网络爬虫的开发过程中,数据的存取是一个至关重要的环节。无论是从网页抓取来的文本、图片,还是其他格式的数据,如何高效、准确地存储和读取这些信息,直接关系到爬虫的性能和后续数据分析的效果。在《Python网络爬虫从入门到精通》的第037篇文章中,我们将深入探讨文件的存取方法,帮助你在爬虫项目中灵活运用这些技巧。
本篇文章将涵盖文件的基本读写操作,包括如何使用Python的内置函数以及流行的第三方库来处理各类文件格式,如文本文件、CSV文件和JSON文件等。通过具体的实例,我们将演示如何将抓取的数据有效地保存到文件中,以及如何从文件中读取数据进行进一步处理。这些技能不仅能提升你在爬虫项目中的开发效率,还能帮助你更好地管理和利用数据。
🚀一、文件的存取
🔎1.📝 Python文件操作详解:TXT文件存储与读取
🦋1.1 文件存储基础
☀️1.1.1 open()函数核心参数
python">file = open(filename, mode='r', buffering=-1)
参数 | 说明 | 常用值 |
---|---|---|
filename | 文件路径(相对/绝对) | “data.txt” |
mode | 文件访问模式 | r/w/a/r+/rb等 |
buffering | 缓冲策略(0=无缓冲,1=行缓冲,>1=缓冲区大小) | 默认系统缓冲设置 |
☀️1.1.2 文件模式详解
模式 | 说明 | 适用场景 |
---|---|---|
r | 只读模式(默认) | 读取现有文件 |
w | 写入模式(覆盖原有内容) | 创建新文件/清空重写 |
a | 追加模式(在文件末尾添加) | 日志文件记录 |
r+ | 读写模式(指针在开头) | 需要同时读写操作 |
rb | 二进制只读 | 处理非文本文件 |
wb | 二进制写入 | 保存图片/视频 |
🦋1.2 实战存储示例
python">import requests # 导入网络请求模块
from bs4 import BeautifulSoup # html解析库url = 'http://quotes.toscrape.com/tag/inspirational/' # 定义请求地址
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36'}
response = requests.get(url,headers) # 发送网络请求
if response.status_code==200: # 如果请求成功#创建一个BeautifulSoup对象,获取页面正文soup = BeautifulSoup(response.text, features="lxml")text_all = soup.find_all('span',class_='text') # 获取所有显示励志名句的span标签txt_file = open('data.txt','w',encoding='utf-8') # 创建open对象for i,value in enumerate(text_all): # 循环遍历爬取内容txt_file.write(str(i)+value.text+'\n') # 写入每条爬取的励志名句并在结尾换行txt_file.close() # 关闭文件操作
输出文件示例:
🦋1.3 文件读取技术
☀️1.3.1 读取指定字符
python">with open('message.txt', 'r', encoding='utf-8') as f:content = f.read(9) # 读取前9个字符
print(cont