网站建设与管理课程心得体会海外网站推广优化专员
| 标题 | 详情 | 
|---|---|
| 作者简介 | 愚公搬代码 | 
| 头衔 | 华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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()函数核心参数
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 实战存储示例
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 读取指定字符
with open('message.txt', 'r', encoding='utf-8') as f:content = f.read(9)  # 读取前9个字符
print(cont