基本用法
用一句话介绍 PulsarRPA,它仅仅正确实现了两个方法:加载网页,提取数据。为了实现这个目标,PulsarRPA 增删近百万行代码,沉淀数十万行代码,开发了一系列尖端技术。
加载网页:
- 加载一个网页或者资源
- 使用浏览器加载并渲染网页,或者使用原始协议加载单一资源
- 用一台机器加载十万个网页
- 用十台机器加载一百万个网页
- 用 N 台机器加载 10 x N 万个网页
提取数据:
- 从网页内容文本中提取数据,从文本资源中提取数据
- 从文档对象模型(DOM)中提取数据
- 同网页进行交互后提取数据
- 将网页截屏后提取数据
- 从数以百万计的网页中自动提取数据
综合起来:
- 使用 SQL 加载网页并提取数据
- 通过云服务加载网页并提取数据
- 在极端复杂的应用场景中,正确地加载网页并正确地提取数据
- 围绕加载和提取的其他辅助性方法
PulsarRPA 实现网络即数据库范式,像对待内部数据库一样对待外部网络,如果需要的数据不在本地存储中,或者现存版本不满足分析需要,则系统会从互联网上采集该数据的最新版本。
本课程介绍了加载数据和提取数据的基本 API,这些 API 出现在 PulsarSession 中。PulsarSession 提供了丰富的 API,以覆盖“加载-解析-提取”的所有需求。
这样丰富的 API 使得我们的绝大多数编程场景下,都能够使用一行代码解决“加载-解析-提取”问题:
- 普通加载
- 异步加载
- 批量加载
- 批量加载链出页面
- 各种参数组合
下面是这些 API 的预览,后面我们会详细解释。
- load()
- loadDeferred()
- loadAsync()
- submit()
- loadAll()
- submitAll()
- loadOutPages()
- submitOutPages()
- loadResource()
- loadResourceDeferred()
- loadDocument()
- scrape()
- scrapeOutPages()
我们来看看常见的用法是怎样的。首先创建一个 Pulsar 会话,所有重要的工作都在 Pulsar 会话中处理:
val session = PulsarContexts.createSession()
val url = "https://www.amazon.com/dp/B09V3KXJPB"
最基本的思想和方法是 load(),它先尝试从本地存储加载网页,如果需要的页面不存在,或已过期,或者不满足其他要求,则从 Internet 获取该页面:
val page = session.load(url)
可以用一个简单参数指定网页过期时间,如果需要的页面已在本地存储中且未过期,则返回本地版本:
// Returns the local version
val page2 = session.load(url, "-expires 100d")
在连续采集任务中,我们会以异步并行的方式来处理大批量采集任务,会将大批 URL 提交到 URL 池中,在采集循环中持续处理这些 URL:
// 向 URL 池提交 URL,提交的 URL 将在一个采集循环中处理
session.submit(url, "-ex

最低0.47元/天 解锁文章
1286





