PulsarRPA 教程 1 - 基本用法

基本用法

用一句话介绍 PulsarRPA,它仅仅正确实现了两个方法:加载网页,提取数据。为了实现这个目标,PulsarRPA 增删近百万行代码,沉淀数十万行代码,开发了一系列尖端技术。

加载网页:

  1. 加载一个网页或者资源
  2. 使用浏览器加载并渲染网页,或者使用原始协议加载单一资源
  3. 用一台机器加载十万个网页
  4. 用十台机器加载一百万个网页
  5. 用 N 台机器加载 10 x N 万个网页

提取数据:

  1. 从网页内容文本中提取数据,从文本资源中提取数据
  2. 从文档对象模型(DOM)中提取数据
  3. 同网页进行交互后提取数据
  4. 将网页截屏后提取数据
  5. 从数以百万计的网页中自动提取数据

综合起来:

  1. 使用 SQL 加载网页并提取数据
  2. 通过云服务加载网页并提取数据
  3. 在极端复杂的应用场景中,正确地加载网页并正确地提取数据
  4. 围绕加载和提取的其他辅助性方法

PulsarRPA 实现网络即数据库范式,像对待内部数据库一样对待外部网络,如果需要的数据不在本地存储中,或者现存版本不满足分析需要,则系统会从互联网上采集该数据的最新版本。

本课程介绍了加载数据和提取数据的基本 API,这些 API 出现在 PulsarSession 中。PulsarSession 提供了丰富的 API,以覆盖“加载-解析-提取”的所有需求。

这样丰富的 API 使得我们的绝大多数编程场景下,都能够使用一行代码解决“加载-解析-提取”问题:

  1. 普通加载
  2. 异步加载
  3. 批量加载
  4. 批量加载链出页面
  5. 各种参数组合

下面是这些 API 的预览,后面我们会详细解释。

  1. load()
  2. loadDeferred()
  3. loadAsync()
  4. submit()
  5. loadAll()
  6. submitAll()
  7. loadOutPages()
  8. submitOutPages()
  9. loadResource()
  10. loadResourceDeferred()
  11. loadDocument()
  12. scrape()
  13. 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
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值