代码实现

task / homework 描述
adv_subscriptor.py 写一个agent,可以生成对用户描述需求内容的爬取(要求根据用户需求动态生成爬取代码),定时发送通知任务给用户
adv_subscriptor2.py 1. RunSubscription action启动了SubscriptionRunner,这会让我们的RunSubscription一直无法退出,请尝试将二者分离
  1. 从RunSubscription分离出AddSubscriptionTask的action,并且让SubscriptionRunner单独运行(可以是同一个进程也可以是不同的进程。 |

6. 订阅Agent的进阶

背景

在$ 4 OSSWatcher的例子里,SubscritionRunner的3要素中,Callback, Trigger是可以被复用的,但Role的可复用性不高

特点/库 pyplaywright aiohttp
类型 浏览器自动化库 异步HTTP请求库
使用场景 处理动态网页、模拟用户交互、浏览器自动化 高性能异步HTTP请求、爬取静态页面
安装 pip install playwright pip install aiohttp
依赖 Playwright 浏览器驱动(Chromium等) 标准库及可选的异步相关库(asyncio等)
学习曲线 相对较高,涉及浏览器自动化概念和API 相对较低,异步编程经验有助于理解
性能 较慢,涉及模拟浏览器行为 较快,专注于处理异步HTTP请求
页面交互 支持,可以模拟用户在浏览器中的交互 不涉及页面交互,主要处理HTTP请求和响应
JavaScript执行 支持,可以执行浏览器中的JavaScript代码 不执行JavaScript代码
用途示例 爬取动态网页、自动化测试、模拟用户交互 高性能的异步爬虫、API请求等

例子6.1 的实现思路 & MetaGPT框架部分代码分析

Untitled

task6.1 完成任务

Untitled

图2.本例的整个执行流程