⏱ 本页预计时间
阅读 10 分钟
5.3 做一个爬虫
目标:掌握「分析网页结构 → 写脚本 → 增量抓取 → 数据落地」的流程,让 AI 成为你的数据抓手。
爬虫是数据获取的重要手段,无论是竞品分析、内容聚合还是市场研究,都离不开自动化数据抓取。这个项目将教会你如何分析网页、编写 Python 脚本、处理数据并持久化存储。
什么是爬虫? 爬虫(Web Crawler/Spider)是自动访问网页并提取数据的程序。它模拟人类浏览网页的行为:发送请求 → 获取 HTML → 解析内容 → 保存数据。常用库有 Python 的 requests(发请求)和 BeautifulSoup(解析 HTML)。
🎯 成品要求
- 针对指定站点抓取所需字段,支持增量更新(不重复抓取)
- 把结果写入 CSV/数据库/飞书多维表格等外部系统
- 有日志输出,遇到失败能定位原因
- 有基本的容错机制(限速、重试)
🧰 准备工作
1. 工具选择
- Cursor/Trae + Claude Code:支持终端运行 Python
- Python 环境:本地 Python 3.10+,或使用 Replit/CodeSandbox 提供的在线环境
2. 目标站点选择
练习站点建议(选择结构清晰、无反爬的站点):
- Notta 博客 :技术博客,结构简单
- Airtable 社区 :论坛类内容
- Product Hunt :产品信息
- 你自己关注的垂直领域网站
注意事项:
- 检查
robots.txt(如https://example.com/robots.txt),遵守爬取规则
什么是 robots.txt? 这是网站根目录下的一个文本文件,告诉爬虫哪些页面可以抓取、哪些不允许。比如
Disallow: /admin/表示禁止抓取 admin 目录。这是网站和爬虫之间的「君子协定」,虽然技术上可以无视,但遵守它是基本礼仪。
- 不要爬取需要登录的内容(涉及法律风险)
- 控制请求频率,避免给服务器造成压力
3. 数据落地方式
选择一个你熟悉的存储方式:
- CSV 文件:最简单,适合小数据量
- Notion 数据库:可视化好,适合个人使用
- 飞书多维表格:团队协作,支持自动化
- Airtable:功能强大,有 API
- 数据库(如 SQLite、PostgreSQL):适合大数据量和复杂查询
🛠️ 实践步骤
步骤 1:勘察页面结构
1.1 打开目标网页
以 Notta 博客为例:https://www.notta.ai/en/blog
1.2 使用浏览器开发者工具
- 右键页面 → 点击「检查」(或按
F12) - 点击左上角的「选择元素」图标(或
Ctrl+Shift+C) - 鼠标悬停在文章卡片上,查看 HTML 结构
1.3 定位关键元素
找到包含文章信息的容器,通常是:
<div class="article-card">
<h2>文章标题</h2>
<a href="/blog/article-slug">链接</a>
<span class="tag">标签</span>
<time>2025-01-15</time>
<p class="excerpt">摘要内容...</p>
</div>复制这段 HTML 给 AI,帮助它理解页面结构。
1.4 检查分页机制
- 是否有「下一页」按钮?
- URL 是否包含页码参数(如
?page=2)? - 是否使用无限滚动加载?
步骤 2:撰写 Prompt
正在检查访问权限...
学习进度0%
0/60 篇已完成
Last updated on