当前位置: 首页 > news >正文

【愚公系列】《Python网络爬虫从入门到精通》037-文件的存取

标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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

相关文章:

【愚公系列】《Python网络爬虫从入门到精通》037-文件的存取

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

【一起学Rust | Tauri2.0框架】单实例应用程序的深入解析:零漏洞实现与优化实战

文章目录 前言一、 单实例应用的意义二、 实现单实例应用的方法1 Windows下的实现1.1 创建命名Mutex1.2 在Tauri应用中集成Mutex检查 2 macOS下的实现2.1 获取Bundle Identifier2.2 检查是否已经有实例在运行 3 Linux下的实现3.1 获取进程列表3.2 检查是否已经有实例在运行 4 在…...

PhyloSuite v1.2.3安装与使用-生信工具049

PhyloSuite 一个好用的win集成建树平台,官方相关文档视频等做的可好了PhyloSuite (jushengwu.com) 官网 https://github.com/dongzhang0725/PhyloSuite/releases #官网 http://phylosuite.jushengwu.com/dongzhang0725.github.io/installation/ #官方说明文档…...

使用Apache Lucene构建高效的全文搜索服务

使用Apache Lucene构建高效的全文搜索服务 在现代应用程序中,全文搜索功能是不可或缺的一部分。无论是电子商务网站、内容管理系统,还是数据分析平台,快速、准确地搜索大量数据是提升用户体验的关键。Apache Lucene 是一个强大的全文搜索引擎…...

SSH远程登录并执行命令

SSH远程登录并执行命令 1、登录远程服务器2、远程执行命令3、远程执行交互命令4、远程执行脚本5、退出远程SSH连接 SSH是Linux中的远程连接管理工具,可以在本地服务器上通过SSH协议连接到远程服务器,并在远程服务器上执行命令 SSH不仅可以用来登录远程服…...

EasyRTC:支持任意平台设备的嵌入式WebRTC实时音视频通信SDK解决方案

随着互联网技术的飞速发展,实时音视频通信已成为各行各业数字化转型的核心需求之一。无论是远程办公、在线教育、智慧医疗,还是智能安防、直播互动,用户对低延迟、高可靠、跨平台的音视频通信需求日益增长。 一、WebRTC与WebP2P:实…...

Golang语言特性

1.Go语言的优势 1.1极简单的部署方式 —可以直接编译成机器码。代码可以直接转换为二进制数据,在操作系统上可以直接./去执行。 —不依赖其他库。最终生成的可执行程序是一个静态的二进制文本文件。 —可以直接运行即可部署。 —静态类型语言。编译的时候检查出来隐…...

LangPrompt提示词

LangPrompt提示词 https://github.com/langgptai/LangGPT 学习LangGPT的仓库,帮我创建 一个专门生成LangGPT格式prompt的助手 根据LangGPT的格式规范设计的专业提示词生成助手框架。以下是分步骤的解决方案: 助手角色定义模板 # Role: LangGPT提示词架…...

Java 容器之 List

在 Java 的集合框架中,List 是 Collection 的重要子接口,以其有序、可重复的特点广泛应用于开发中。本文将详细探讨 List 的核心概念、主要实现类(如 ArrayList 和 LinkedList)的底层原理,以及使用中需要注意的常见问题…...

ETL-kettle数据转换使用详解

一、excel转换成mysql 表格就按照我们刚才转换的表格来转换成MySQL数据 在MySQL数据库中创建数据库,这个根据自身情况。我就在现有test库中测试了。 根据以上步骤,新建转换。 构建流程图,选择excel输入和表输出 将两个组件连接起来 双击…...

【容器化】低版本docker拉取ubuntn 22.04镜像启动容器执行apt update提示 NO_PUBKEY 871920D1991BC93C

前置信息 宿主机信息 [root@localhost ~]# cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR…...

Hive-04之存储格式、SerDe、企业级调优

一、主题 hive表的数据压缩和文件存储格式hive的自定义UDF函数hive的JDBC代码操作hive的SerDe介绍和使用hive的优化 二、要点 1. hive表的文件存储格式 Hive支持的存储数的格式主要有:TEXTFILE(行式存储) 、SEQUENCEFILE(行式存储)、ORC&…...

Makefile、Make和CMake:构建工具的三剑客

目录 1. Makefile 2. Make 3. CMake Makefile、Make、CMake的关系 在软件开发中,构建工具是必不可少的。它们帮助开发者自动化编译、链接和打包的过程,确保代码能够高效地转化为可执行文件。Makefile、Make和CMake是三个常见的构建工具,它…...

The “Rule-of-Zero“ should be followed (s4963)

Most classes should not directly handle resources, but instead, use members that perform resource handling for them: For memory, it can be std::unique_ptr, std::shared_ptr, std::vector…​For files, it can be std::ofstream, std::ifstream…​…​ Classes …...

Kotlin语言特性(二):泛型与注解

Kotlin语言特性(二):泛型与注解 一、引言 在上一篇文章中,我们介绍了Kotlin的三大核心特性。本文将深入探讨Kotlin的泛型和注解特性,并与Java进行对比,帮助你更好地理解和运用这些特性。 二、Kotlin泛型 2.1 泛型基础 2.1.1 声明泛型类 // Kotlin泛型类声明 class …...

FunPapers[3]:WWW‘25「快手」生成式回归预测观看时长

Sequence Generation Modeling for Continuous Value Prediction https://arxiv.org/pdf/2412.20211,www 2025. 文章目录 Sequence Generation Modeling for Continuous Value Prediction核心思想1. CVP常规方法是怎么做的?2. 观看时长预测和CVP是如何关…...

并发编程1

JAVA线程回顾 多线程 多个并行的线程来完成个自的任务,优点是程序响应速度更快,程序性能得到提升。 并行执行与并发执行 并发执行就是在单核CPU下,现成实际上是串行执行的,任务调度器将cpu的时间片分给不同的线程使用&#xff0…...

Hadoop之01:HDFS分布式文件系统

HDFS分布式文件系统 1.目标 理解分布式思想学会使用HDFS的常用命令掌握如何使用java api操作HDFS能独立描述HDFS三大组件namenode、secondarynamenode、datanode的作用理解并独立描述HDFS读写流程HDFS如何解决大量小文件存储问题 2. HDFS 2.1 HDFS是什么 HDFS是Hadoop中的一…...

从源到目标:深度学习中的迁移学习与领域自适应实践

云边有个稻草人-CSDN博客 目录 引言 一、迁移学习概述 1.1 迁移学习的类型 1.2 迁移学习的核心思想 1.3 迁移学习的应用场景 二、领域自适应(Domain Adaptation) 2.1 领域自适应的定义 2.2 领域自适应的挑战 2.3 领域自适应的核心方法 &#…...

WebRTC与PJSIP:呼叫中心系统技术选型指南

助力企业构建高效、灵活的通信解决方案 在数字化时代,呼叫中心系统的技术选型直接影响客户服务效率和业务扩展能力。WebRTC与PJSIP作为两大主流通信技术,各有其核心优势与适用场景。本文从功能、成本、开发门槛等维度为您深度解析,助您精准匹…...

当多智能体遇上频域干扰:一场代码与策略的华尔兹

[1]2024IEEE《基于分层多智能体强化学习的协同干扰智能策略决策方法》(代码文献) MATLAB 多智能体 协同 学习资料 [2]使用PettingZoo和Gymnasium创建的用于干扰任务的多智能体ParallelEnv。 [3]单一转换的优先体验重放的代码,以及转换序列的序…...

编译系统概述

前置知识:硬件-操作系统-用户操作系统是什么?往下描述,操作系统是对硬件控制的封装,往上描述,是管理程序的软件。操作系统主要有这几大部分组成:1.操作系统如何管理CPU:进程、线程、调度和同步机…...

企业PTC软件正版化路径与长期价值分析

企业PTC软件正版化路径和长期价值分析我帮一家制造业客户处理软件正版化问题,提醒一句到他们的巨头供应商PTC的许可证使用率常年徘徊在30%左右,年均浪费成本超过800万,这事儿在行业内其实挺普遍的。如果说你正在为软件许可证管理头疼&#xf…...

2025届必备的六大AI科研神器实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 专门用于降低重复率的网站,在学术范畴里,是作为辅助学术写作的工具而…...

保姆级教程:用PyTorch 1.13.1在GPU上跑通PointNet分类与分割(附自写推理脚本)

从零实现PointNet分类与分割:PyTorch 1.13.1 GPU实战指南 当你第一次接触3D点云处理时,可能会被各种复杂的数学公式和算法吓退。但PointNet的出现改变了这一局面——这个开创性的网络架构直接处理原始点云数据,无需复杂的体素化或网格化预处理…...

制造业上线Agent,能获得哪些核心价值?——2026工业AI从“辅助决策”迈向“全自主执行”的深度解析

站在2026年这个时间节点回望,制造业的数字化转型已完成了从“数据上云”到“智能入链”的惊人跨越。如果说过去十年的工业互联网核心是解决“连接”问题,那么2026年全面爆发的AI Agent(智能体)则彻底解决了“执行”问题。在当前的…...

PromptSource批量操作工具:一次性修改数百个提示模板的技巧

PromptSource批量操作工具:一次性修改数百个提示模板的技巧 【免费下载链接】promptsource Toolkit for creating, sharing and using natural language prompts. 项目地址: https://gitcode.com/gh_mirrors/pr/promptsource PromptSource是一个强大的自然语…...

S-UI系统调用分析:与操作系统交互的底层实现

S-UI系统调用分析:与操作系统交互的底层实现 还在为网络代理管理系统的底层实现而困惑?本文将深入解析S-UI如何通过系统调用与操作系统深度交互,让你全面掌握这套高级Web面板的底层工作原理。 读完本文你将了解: S-UI如何处理系…...

高可用外卖返利 CPS 平台:Java 后端异步回调处理机制深度解析

高可用外卖返利 CPS 平台:Java 后端异步回调处理机制深度解析 在构建外卖返利(CPS)系统时,异步回调(Callback)机制是连接用户授权、订单同步与佣金结算的神经中枢。美团、饿了么等平台的用户授权与订单状态…...

OpenHTMLtoPDF字体加载异常全解析:从故障排查到环境适配

OpenHTMLtoPDF字体加载异常全解析:从故障排查到环境适配 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Section 508, …...