Skip to content

实战:网页数据抓取

🎯 目标

抓取某个网站的数据,保存到本地文件。


📋 场景:抓取新闻标题

让我们抓取一个新闻网站的标题列表。

步骤 1:打开网站

你: 打开 https://news.ycombinator.com

OpenClaw: [启动浏览器]
已打开 Hacker News 首页。

步骤 2:分析页面

你: 这个页面上有哪些新闻标题?

OpenClaw: [分析页面结构]
找到 30 条新闻,前 5 条是:
1. "Show HN: I built an AI that..."
2. "PostgreSQL 17 Released"
3. "Why I Left Big Tech"
4. "The Future of Web Development"
5. "Open Source AI Models Are Catching Up"
...

步骤 3:提取数据

你: 把所有新闻标题和链接提取出来,保存到 hn-news.json

OpenClaw: [提取数据,保存文件]
已保存 30 条新闻到 hn-news.json:
{
  "date": "2024-01-15",
  "news": [
    {"title": "...", "url": "...", "points": 142},
    {"title": "...", "url": "...", "points": 98},
    ...
  ]
}

🔄 批量抓取

多页面抓取

你: 抓取前 3 页的新闻,合并保存

OpenClaw: [循环抓取]
正在抓取第 1 页...(30 条)
正在抓取第 2 页...(30 条)
正在抓取第 3 页...(30 条)
已保存 90 条新闻到 hn-news-all.json

定时抓取

你: 每天早上 9 点抓取一次,保存到带日期的文件

OpenClaw: [创建定时任务]
已设置!每天 9:00 自动抓取,保存格式:hn-news-2024-01-15.json

📊 数据处理

转换格式

你: 把 JSON 转成 CSV 格式

OpenClaw: [转换格式]
已生成 hn-news.csv,包含列:title, url, points, author

数据分析

你: 分析一下这批新闻,哪些主题最热门?

OpenClaw: [分析数据]
热门主题分布:
- AI/ML: 12 篇 (40%)
- 编程语言: 5 篇 (17%)
- 开源项目: 4 篇 (13%)
- 创业: 3 篇 (10%)
- 其他: 6 篇 (20%)

AI 相关话题最热门,其次是编程语言讨论。

⚠️ 注意事项

遵守 robots.txt

你: 检查一下这个网站是否允许抓取

OpenClaw: [检查 robots.txt]
该网站的 robots.txt 显示:
- 允许:/news, /articles
- 禁止:/admin, /api, /private

当前页面在允许范围内,可以抓取。

控制速率

你: 抓取速度放慢点,每隔 2 秒请求一次

OpenClaw: [降低速率]
已设置请求间隔 2 秒,避免触发反爬。

处理反爬

你: 这个网站有反爬机制,怎么办?

OpenClaw: 建议:
1. 添加随机延迟
2. 轮换 User-Agent
3. 使用代理 IP
4. 降低请求频率

要我帮你配置这些吗?

🎓 你学到了什么?

通过这个实战,你学会了:

  1. ✅ 打开和操作浏览器
  2. ✅ 分析页面结构
  3. ✅ 提取和保存数据
  4. ✅ 批量和定时抓取
  5. ✅ 数据格式转换

🏆 Day 2 完成!

恭喜你完成了第二天的学习!

今日回顾

  • [x] 掌握了技能系统
  • [x] 学会了文件读写
  • [x] 体验了浏览器自动化
  • [x] 完成了数据抓取实战

自我检测

你能独立完成以下任务吗?

  1. 安装一个新技能
  2. 创建并编辑一个文件
  3. 打开网页并截图
  4. 抓取页面数据并保存

➡️ 明天见

Day 2 内容较多,建议练习一下再继续。

准备好后,来 Day 3 学习高级技巧!

基于 MIT 许可发布