news 2026/10/24 4:14:06

第四章 数据采集及存储

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第四章 数据采集及存储

4.1 数据采集概述

数据采集(Data Collection)就是把外部数据(网页、API、文件、数据库)取到本地。最常见、最适合入门的就是网页爬虫,通常分三步:

  1. 请求:用 HTTP 把网页源码下载下来;
  1. 解析:从 HTML 里提取想要的字段;
  1. 存储:把结果写成文件或存入数据库。

合规提醒:只采集公开数据,遵守目标站点的robots.txt,控制请求频率,不碰需登录的隐私内容。

用什么库?——优先标准库

很多教程第一句就是pip install requests beautifulsoup4,但这两包在你的环境里经常因为镜像超时而装不上。其实纯标准库就能完成全部工作:

需求

标准库方案

行业常用(需安装)

发 HTTP 请求

urllib.request

requests

解析 HTML

html.parser(内置)

BeautifulSoup

存 CSV

csv

pandas

存 JSON

json

json

存数据库

sqlite3

sqlite3

本章案例全部用标准库,你复制就能跑;文末附上requests + BeautifulSoup的对照写法,方便你了解业界习惯。


4.2 用标准库采集网页

4.2.1 发送请求:urllib

4.2.2 解析 HTML:html.parser

html.parser是 Python 自带的解析器,我们用它写一个轻量"链接提取器",只收集<a href="...">文本</a>:


4.3 完整案例:爬取新浪教育新闻

新浪文章链接格式固定为.../yyyy-mm-dd/doc-xxx.shtml,发布日期直接嵌在 URL 里,提取极方便。下面这段代码可以直接运行,产出sina_edu_news.csv(正是第三章 pandas 分析的素材)。


4.4 数据存储方案

采集结果有几种常见落盘方式,按"结构化程度 / 查询需求"选择:

方式

适合场景

优点

缺点

CSV

表格数据、给 Excel / pandas 用

简单通用、肉眼可读

不适合海量、难做复杂查询

JSON

嵌套结构、前后端接口

表达力强、原生支持

不适合关系型统计

SQLite

需要查询/去重/多表关联

轻量数据库、支持 SQL

比文本稍重

4.4.1 存 CSV(标准库 csv)

细节:utf-8-sig(带 BOM)让 Excel 双击中文不乱码;newline=''避免多出空行。

4.4.2 存 JSON(标准库 json)

4.4.3 存 SQLite(标准库 sqlite3,支持去重与查询)


4.5 端到端流水线(采集 → 存储 → 分析)

把本笔记与第三章串起来,就是最基础的数据闭环:

骨架代码:


4.6 行业对照:requests + BeautifulSoup 写法

等你的环境能装第三方包时,同样的需求可以写得更"优雅"一些(功能等价,仅作了解):

区别:标准库urllib + html.parser开箱即用、零依赖;requests + BeautifulSoup代码更简洁、生态更丰富,但需要pip install。课程作业优先保证能跑,推荐标准库写法。


4.7 反爬与异常处理

  • 加 UA:默认请求头常被拦截,务必带User-Agent。
  • 控频率:循环采集时time.sleep(1~3),别压垮对方服务器。
  • 看 robots:https://站点/robots.txt查允许范围。
  • 兜底异常:网络会超时、页面会改版,用try/except保护。

4.8 本章小结

  • 采集 =urllib 请求 + html.parser 解析(标准库,零依赖、必能跑);
  • 发布日期等字段常藏在 URL 或标签属性里,善用正则(\d{4}-\d{2}-\d{2});
  • 存储按需求选CSV(表格)/ JSON(嵌套)/ SQLite(查询);
  • 与第三章的 pandas 组合,即构成「采集 → 存储 → 分析」最小闭环。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 4:14:06

东方博宜OJ 4989:学习小组 ← 完全背包

【题目来源】 https://oj.czos.cn/p/4989 【题目描述】 班主任计划将班级里的 n 名同学划分为若干个学习小组&#xff0c;每名同学都需要分入某一个学习小组中。观察发现&#xff0c;如果一个学习小组中恰好包含 k 名同学&#xff0c;则该学习小组的讨论积极度为 ak。 给定讨论…

作者头像 李华
网站建设 2026/10/24 4:13:59

力扣hot100——找到字符串中所有字母异位词

一、题目给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。示例 1:输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 &q…

作者头像 李华
网站建设 2026/10/24 4:13:46

用 KMF 钢丝轨道轴承KVE 08 0350 算 BPFO_BPFI_BSF_FTF,再用包络谱反查

低转速、大直径的回转支承类轴承&#xff0c;它的故障冲击频率往往落在几十赫兹&#xff0c;时域波形和常规频谱都被轴频与齿轮啮合盖住&#xff0c;直接看不出毛病。我们做在线监测时&#xff0c;第一步是把 BPFO、BPFI、BSF、FTF 这四个特征频率算准&#xff0c;再用包络谱把…

作者头像 李华
网站建设 2026/10/24 4:13:38

7×24小时自动巡检,中小银行的合规安全感来了

先说关键信息&#xff1a;中小银行的合规安全感&#xff0c;来自"持续在线的巡检"&#xff0c;而不是"测评前的突击"中小银行科技岗最深的焦虑很具体&#xff1a;监管要求向大行看齐&#xff0c;预算和编制却只有大行的零头。等保测评、监管检查、重保值守…

作者头像 李华
网站建设 2026/10/24 4:12:57

共聚焦显微镜与白光干涉仪的陡坡测量技术对比

在微光学元件、微纳结构或复杂曲面检测中&#xff0c;有个问题很实际&#xff1a;设备完成了扫描&#xff0c;不等于每个表面位置都拿到了有效数据。双光子光刻微结构形貌测量尤其如此&#xff0c;陡坡区域噪声升高、点云缺失&#xff0c;同一位置反复扫描的结果甚至对不上&…

作者头像 李华
网站建设 2026/10/24 4:12:57

Pycharm安装激活AI Assistant并启用codex

主要分为两个部分&#xff1a; 安装 AI Assistant&#xff1a;解决插件无法启用、远程 IDE 版本不一致等问题。激活 Codex&#xff1a;用户地区调整、使用 ChatGPT 账号登录 Codex&#xff0c;验证 AI 模型调用是否正常。 一、安装AI Assistant 1.1 安装 JetBrains AI Assis…

作者头像 李华