实战:网页数据抓取
🎯 目标
抓取某个网站的数据,保存到本地文件。
📋 场景:抓取新闻标题
让我们抓取一个新闻网站的标题列表。
步骤 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. 降低请求频率
要我帮你配置这些吗?🎓 你学到了什么?
通过这个实战,你学会了:
- ✅ 打开和操作浏览器
- ✅ 分析页面结构
- ✅ 提取和保存数据
- ✅ 批量和定时抓取
- ✅ 数据格式转换
🏆 Day 2 完成!
恭喜你完成了第二天的学习!
今日回顾
- [x] 掌握了技能系统
- [x] 学会了文件读写
- [x] 体验了浏览器自动化
- [x] 完成了数据抓取实战
自我检测
你能独立完成以下任务吗?
- 安装一个新技能
- 创建并编辑一个文件
- 打开网页并截图
- 抓取页面数据并保存
➡️ 明天见
Day 2 内容较多,建议练习一下再继续。
准备好后,来 Day 3 学习高级技巧!