临界态AI教育实战课

课程 4:操纵浏览器与网络爬虫 资源下载

进阶 30分钟 ★★★

适合人群:已完成课程0和课程1,对Alma有一定了解的学员

课前准备

打开自己的 AI课程文件夹,在里面新建一个文件夹,名称为本课编号(如 lesson-4),然后在 Alma 里面新建一个聊天,设置该项目的文件夹指向新建的文件夹,再把课程资源下载并放入该文件夹。


课程目标

  • 掌握向 Alma 表达自动化需求的方法
  • 学会设计数据收集的目标和输出格式
  • 能够使用自然语言引导 Alma 完成任务
  • 了解常见问题的应对策略

第一部分:浏览器自动化

1.1 agent-browser 技能简介

Alma 内置了 agent-browser 技能,这是一个由 Vercel Labs 开发的浏览器自动化工具。你不需要了解任何编程知识,只需要用自然语言告诉 Alma 你想做什么。

核心思想:Alma 是一个 AI 代理,它会自动将你的自然语言请求转化为具体的浏览器操作命令。


1.2 实操案例:收集广州市教师招聘信息

第一步:明确目标

在开始之前,先想清楚你要做什么:

目标:收集广州市教育局直属事业单位 2025 年的教师招聘信息

第二步:设计输出格式

确定你希望 Alma 交付什么:

数据结构

职位名称 招聘学校/单位 学科/岗位类别 学历要求 经验要求 其他条件

文档形式:Excel 文件(.xlsx),保存到 AIDOCS/ 文件夹,命名为 guangzhou_teacher_jobs.xlsx

第三步:用自然语言向 Alma 提出需求

基础提示词

帮我访问广州市教育局网站(https://jyj.gz.gov.cn),找到教师招聘相关的公告,收集招聘信息并整理成 Excel 文件。

详细提示词(推荐):

我要收集广州市教育局直属事业单位 2025 年的教师招聘信息。请执行以下操作:

1. 访问广州市教育局官网:https://jyj.gz.gov.cn
2. 查找教师招聘相关的公告或公示
3. 提取每个职位的以下信息:
   - 职位名称
   - 招聘学校/单位
   - 学科/岗位类别
   - 学历要求
   - 经验要求
   - 其他条件

4. 将所有收集到的数据整理成 Excel 文件
5. 文件命名为 guangzhou_teacher_jobs.xlsx
6. 保存到 AIDOCS/ 文件夹

第四步:应对可能出现的情况

Alma 在执行过程中可能会遇到以下情况,你需要准备好相应的提示词:

情况 1:找不到招聘公告

应对提示词:

当前页面上没有找到招聘公告,请尝试以下方法:
1. 滚动页面查看更多内容
2. 点击"通知公告"或其他相关栏目
3. 使用快照功能查看所有可交互元素
4. 如果确实没有招聘信息,请告诉我,我会换个目标网站

情况 2:页面加载缓慢

应对提示词:

页面加载时间较长,请:
1. 等待页面完全加载后再继续
2. 如果超时,可以刷新页面重新尝试
3. 或者截图发送给我,让我看看具体情况

情况 3:需要登录或有验证码

应对提示词:

网站需要登录或有验证码,请:
1. 开启有头模式(显示浏览器窗口)
2. 让我看到需要输入什么信息
3. 我会手动完成登录后,你再继续操作

情况 4:提取的内容不完整

应对提示词:

提取的招聘信息不完整,请:
1. 逐个访问每个招聘公告详情页
2. 从详情页中提取完整的职位信息
3. 确保每条记录都包含我要求的所有字段

第五步:获取结果并验证

当 Alma 完成任务后:

  1. 检查 AIDOCS/ 文件夹中是否有 guangzhou_teacher_jobs.xlsx
  2. 打开 Excel 文件,检查数据是否完整
  3. 验证数据格式是否符合预期的数据结构
  4. 如果有问题,向 Alma 提出修改建议

验证提示词

请检查生成的 Excel 文件,确保:
1. 所有字段都已填写完整
2. 数据格式正确
3. 没有重复或遗漏的记录
4. 如果有任何问题,请告诉我具体是什么问题,我会提供修改建议

第二部分:网络爬虫开发

2.1 为什么要学 BeautifulSoup?

agent-browser 技能适合单个页面的操作,但当你需要批量处理多个页面,或者需要更灵活的数据提取逻辑时,使用 Python 代码会更高效。

2.2 BeautifulSoup 简介

除了使用 agent-browser,你还可以让 Alma 帮你编写 Python 代码来解析网页。这适合需要批量处理大量页面的场景。


2.3 实操案例:爬取教育资讯文章

第一步:明确目标

目标:爬取某教育网站的 10 篇最新文章,提取标题、链接和摘要

第二步:设计输出格式

数据结构

序号 标题 链接 摘要 发布时间

文档形式:Excel 文件,保存到 AIDOCS/ 文件夹

第三步:向 Alma 提出需求

提示词

我要爬取 https://example.com/education 网站上的 10 篇最新文章。请帮我:

1. 编写一个 Python 脚本,使用 requests 和 BeautifulSoup 库
2. 访问目标网站,解析文章列表
3. 提取每篇文章的以下信息:
   - 标题
   - 链接
   - 摘要(如果有)
   - 发布时间(如果有)

4. 将结果保存为 Excel 文件,命名为 education_articles.xlsx
5. 保存到 AIDOCS/ 文件夹

请直接运行脚本并生成结果文件,不要只给我代码。

第四步:应对可能出现的情况

情况 1:网站有反爬机制

应对提示词:

网站可能有反爬机制,请尝试:
1. 添加 User-Agent 伪装浏览器
2. 设置请求间隔,避免请求过快
3. 如果仍然失败,请告诉我,我会考虑更换目标网站

情况 2:页面结构复杂,解析困难

应对提示词:

页面结构比较复杂,请:
1. 截图发送给我,让我看看页面结构
2. 使用更灵活的解析方法
3. 如果某些字段确实无法提取,可以跳过,但要记录缺失的字段

第五步:获取结果并验证

验证提示词

请检查生成的 Excel 文件,确保:
1. 10 篇文章都已收集
2. 标题、链接等字段完整
3. 数据格式正确
4. 如果有任何问题,请告诉我

第三部分:扩展工具

3.1 除了技能和 MCP 服务器

除了使用 Alma 的技能和 MCP 服务器来完成爬虫任务,你还可以直接让 Alma 编写代码。本课前面介绍的方法已经覆盖了大多数场景。

3.2 常用爬虫工具 MCP

如果你配置了 MCP 服务器,以下工具可以帮助你进行网页数据收集:

  • web-search-prime:网络搜索工具,可快速获取相关信息
  • web-reader:网页阅读工具,可提取网页文本内容
  • zai-vision-mcp:视觉分析工具,可识别截图中的文本和元素

这些 MCP 工具通常与技能配合使用,可以处理更复杂的网页交互场景。

第四部分 git 代码仓库管理

什么是 Git

Git 是一个代码版本管理工具,就像游戏的存档功能。当你玩游戏时,可以随时保存进度,如果后面玩坏了,可以回到之前的存档继续玩。

Git 的作用就是帮你给代码"存档",记录每一次修改。

生活中的例子 Git 中的对应
游戏存档 Commit(提交)
回到之前的存档 Checkout(回退)
存档列表 Commit History(提交历史)

Git 的基本概念

工作区、暂存区、仓库

不要被这些词吓到,我们用一个简单的比喻来理解:

区域 作用 比喻
工作区 你正在编辑文件的地方 你的办公桌
暂存区 准备提交的文件暂存的地方 准备放进档案柜的文件夹
仓库 已经提交的记录 档案柜

流程:你在办公桌(工作区)修改文件 -> 放进文件夹(暂存区) -> 放进档案柜(仓库)

Commit(提交)

Commit 是 Git 中最重要的概念,就是"存档"的意思。

每次 Commit 都会记录:

  • 修改了哪些文件
  • 修改的具体内容
  • 提交的时间和说明

为什么需要 Commit

  • 记录修改历史,方便查看
  • 如果后面出问题了,可以回到之前的版本
  • 和其他人协作时,可以同步代码

Checkout(回退)

Checkout 就是"读取存档",回到之前的某个提交状态。

什么时候需要回退

  • 代码写乱了,想回到之前干净的状态
  • 发现某个版本有 bug,想回到之前的版本
  • 想查看某个历史版本的内容

在 Alma 中使用 Git

Alma 的 Git 界面

在 Alma 界面的右侧,有一个"Commit"标签页,这里会显示你的代码修改历史。

查看提交历史

  1. 点击 Alma 右侧的"Commit"标签页
  2. 你可以看到所有的提交记录
  3. 每条记录包含:提交说明、修改时间、修改的文件

提交代码(Commit)

在 Alma 中提交代码很简单:

提示词示例

请帮我提交当前的代码修改,提交说明:完成数据收集功能

或者更详细一点:

请帮我:
1. 查看当前有哪些文件被修改了
2. 将修改的文件添加到暂存区
3. 提交代码,提交说明:添加教师招聘信息收集功能

回退代码(Checkout)

如果你发现某次提交有问题,可以让 Alma 帮你回退:

提示词示例

我发现上次的代码有问题,请帮我回退到上一次提交的状态

或者回退到更早的版本:

请帮我查看提交历史,然后回退到"完成基础功能"那次提交的状态

使用 AI 操作 Git 的优势

你可能在想:为什么不自己学 Git 命令,而是让 AI 帮忙?

自己学 Git 让 AI 帮忙
需要记住很多命令,容易忘 不需要记命令,直接说需求
命令输错了可能造成严重后果 AI 会检查命令,避免错误
需要理解 Git 的复杂概念 用自然语言表达,简单易懂
需要手动处理冲突 AI 可以帮你自动处理

总结:让 AI 帮你操作 Git,就像有个经验丰富的程序员助手在旁边,你只需要告诉它你想做什么,它就会帮你完成。

实际操作示例

示例 1:初始化 Git 仓库

提示词

请帮我在当前目录初始化 Git 仓库

Alma 会做什么

  1. 检查当前目录是否已经有 Git 仓库
  2. 如果没有,执行 git init 命令
  3. 告诉你初始化成功

示例 2:提交第一次代码

提示词

请帮我提交代码,提交说明:初始化项目

Alma 会做什么

  1. 查看当前有哪些文件
  2. 将文件添加到暂存区
  3. 提交代码,并显示提交信息

示例 3:修改代码后提交

提示词

我刚才修改了一些文件,请帮我提交,提交说明:添加数据收集功能

Alma 会做什么

  1. 查看哪些文件被修改了
  2. 显示修改的内容摘要
  3. 提交修改,并记录提交说明

示例 4:查看提交历史

提示词

请帮我查看最近的提交历史

Alma 会做什么

  1. 显示最近的提交列表
  2. 每条记录包含:提交 ID、说明、时间、作者

示例 5:回退到之前的版本

提示词

我发现当前的代码有问题,请帮我回退到上一次提交

Alma 会做什么

  1. 确认你要回退到哪个版本
  2. 执行回退操作
  3. 告诉你回退成功,当前代码已经回到之前的状态

常见问题

问题 1:提交时提示"没有可提交的内容"

原因:你已经提交过这些文件了,或者文件没有修改

解决方法

请帮我查看当前有哪些文件,检查是否有修改未提交

问题 2:回退后代码丢失了

原因:你可能回退得太早,误删了重要代码

解决方法

请帮我查看提交历史,找到包含之前代码的提交,然后恢复

提示:回退操作之前,最好让 Alma 显示提交历史,确认要回退到哪个版本

问题 3:修改冲突怎么办

原因:多个人同时修改同一个文件,或者你在不同地方修改了同一个文件

解决方法

请帮我查看冲突的文件,并尝试自动解决冲突

如果自动解决失败

请帮我显示冲突的具体位置,我会手动修改

总结

Git 是一个强大的代码版本管理工具,就像游戏的存档功能。你不需要精通 Git 命令,只需要理解基本概念:

  • Commit:存档,记录修改
  • Checkout:读档,回到之前的版本
  • Commit History:存档列表,查看所有修改记录

在 Alma 中,你可以用自然语言让 AI 帮你操作 Git,就像有个程序员助手在旁边。你只需要告诉它你想做什么,它就会帮你完成。

记住:让 AI 帮你操作 Git 是很不错的选择哦,简单、安全、高效!



课程总结

学到的技能

  1. 向 Alma 表达自动化需求:用自然语言告诉 Alma 你想做什么
  2. 设计输出格式:明确数据结构和文档形式
  3. 应对问题:预判可能出现的情况,准备相应的提示词
  4. 验证结果:检查输出文件是否符合预期

实践成果

  • 能够使用 Alma 的 agent-browser 技能收集网页信息
  • 理解如何用自然语言引导 AI 代理完成任务
  • 学会了数据收集任务的一般流程

下一步学习

  • 课程 5:教学内容整合制作
  • 探索更高级的数据收集技巧
  • 学习数据分析和可视化

重要提示

核心原则:Alma 是一个 AI 代理,你只需要:

  1. 明确告诉它你的目标
  2. 设计好输出格式
  3. 用清晰的自然语言描述需求
  4. 准备好应对问题的策略

不要陷入技术细节,专注于"如何说"而不是"如何做"。


通过本课学习,你已经掌握了使用 AI 代理进行自动化数据收集的能力!