Crawlbase“ Crawler 是多功能的 网络爬虫 可让您大规模提取在线数据。 Crawler 简化了抓取过程,让您可以方便有效地收集大数据。这是您控制网页抓取并获取业务所需数据所需要的。
此 Crawler 轻松处理 JavaScript 浏览器、队列、代理、数据管道和其他网络抓取难题。这使您能够充分利用数据提取并轻松检索在线信息。
在本教程结束时,您将学会如何使用 Crawler 从在线资源检索数据。
我们将涵盖的内容
- 什么是 Crawler?
- 定位: Crawler 运作方式
- 如何创建本地 webhook
- 如何暴露本地服务器
- 如何创建爬虫
- 如何发送 Crawler 请求
你需要什么
- Node.js 开发环境
- Crawlbase“ Crawler
- 快捷配送
- 恩格罗克
准备好了?
我们走吧…
什么是 Crawler?
建立在 Crawling API, Crawler 是一个推送系统,可让您无缝快速地抓取数据。它在 Crawling API.
此 Crawler 适用于需要抓取大量数据的大型项目。在服务器上设置 webhook 端点后,收集的数据将传送到那里,您可以编辑和自定义它以满足您的特定需求。
此 Crawler 具有以下优点:
- 轻松将抓取的数据添加到您的应用程序,而无需管理队列、块、代理、验证码、重试和其他网络爬取瓶颈的复杂性。
- 将抓取的数据获取到所需的 Webhook 端点,让您可以方便地将数据集成到您的特定用例中。
- 在任何类型的网站上执行高级网页抓取,包括支持 JavaScript 渲染的复杂网站。
- 匿名抓取数据,无需担心泄露您的身份。
- 使用不需要长期合同的简单定价模型抓取在线数据。 您只需为成功的请求付费。
定位: Crawler 运作方式
如前所述, Crawler 在 Crawling API. 这可以让你增强 Crawling API 并轻松顺利地提取数据。
这是使用 Crawling API:
https://api.crawlbase.com/?token=add_token&url=add_url
如上所示,除了 URL 的基本部分之外, Crawling API 需要以下两个强制查询字符串参数:
- 唯一的授权令牌 Crawlbase 授权您使用 API。您可以使用普通令牌进行通用 Web 请求,也可以使用 JavaScript 令牌进行高级的真实浏览器请求。
- 您要抓取的网站的 URL。 它应该以 HTTP 或 HTTPS 开头。 还应该对其进行编码以确保通过 Internet 进行有效传输。
当使用 Crawler,除了以上两个查询字符串参数外,还需要添加以下两个必需参数:
- 回调参数— &回调=真
- 您的爬虫的名称(我们稍后会看到如何创建爬虫)— &crawler=add_crawler_name
所以,你的 Crawler 请求将如下所示:
https://api.crawlbase.com?token=add_token&callback=true&crawler=add_crawler_name&url=add_url
由于 Crawler 与回调一起使用,您需要创建一个 网络挂钩 服务器上的端点以接收抓取的数据。
Webhook 应满足以下条件:
- 它应该公开 Crawlbase 服务器。
- 它应配置为接收 HTTP POST 请求并在 200 毫秒内响应状态码为 200、201 或 204。
发出请求后,爬虫引擎将收集指定的数据,并使用带有 GZIP 数据压缩方案的 HTTP POST 方法将其发送到您的回调端点。
默认情况下,数据使用 HTML 格式进行结构化; 也就是说,作为 &格式=html. 您还可以指定接收 JSON 格式的数据,使用 &格式=json 查询字符串参数。
如何创建本地 webhook
让我们演示如何在服务器上创建一个 webhook 端点来接收抓取的数据。
在本教程中,我们将使用 Express Node.js Web 应用程序框架在我们的机器上创建一个本地 Webhook 服务器。然后,我们将使用 ngrok 确保本地服务器可以通过互联网安全访问。这将确保我们的 Webhook 可以被以下对象公开访问: Crawlbase 服务器。
首先,在您的开发环境中创建一个新目录,在终端窗口中导航到该目录,然后运行以下命令来初始化一个新的 Node.js 项目:
npm初始化
接下来,安装 Express 框架:
npm 安装快递
接下来,创建一个名为 服务器.js 并添加以下代码:
1 | // 导入快递 |
如果您以前使用过 Express,上面的代码可能看起来很熟悉。 我们首先初始化 Express 并定义一个端口。
接下来,我们使用内置的 表达.text() 中间件函数用于解析传入的原始 body 数据并将其返回为纯字符串。我们使用它是因为 Crawlbase 在 API 标头中使用 text/plain 的内容类型。
我们通过了 限制 参数属性到函数中,以指定我们打算接收的数据量并避免压倒我们的服务器。 中间件功能也会自动解压 GZIP 编码的爬取数据。
我们还使用了内置 快递.urlencoded() 中间件函数来解析带有 urlencoded 有效载荷的传入请求,并将它们转换为我们可以使用的格式。 我们通过了 扩展 参数属性到函数中来指定我们需要使用的 qs 查询字符串解析和字符串化库。
请注意,我们在定义 webhook 的路由之前告诉 Express 使用中间件。 这将使它们在路由之前执行,确保路由可以访问 HTTP POST 正文中的解析数据。
接下来,我们设置一个简单的 webhook 路由来处理来电。 我们在 http://localhost:3000/ 来处理请求。
我们所使用的 身体 的财产 REQ 对象将爬取的数据记录在控制台上。 我们还使用 头 属性。
使用 HTTP 2xx 状态代码快速响应也至关重要。 Crawlbase Crawler 要求在 200 毫秒内做出响应。
接下来,要启动简单的 Express webhook 应用程序,请运行以下命令:
节点server.js
记得保持本地服务器运行; 不要关闭它。
如何暴露本地服务器
下一个任务是使用 ngrok 将本地运行的服务器公开给全世界。 有几种设置 ngrok 的方法。 对于本教程,我们将 下载 ngrok 它,解压缩 ngrok.exe 文件,并将文件存储在我们本地计算机上的文件夹中。
要启动 ngrok,请启动另一个终端,导航到存储可执行文件的目录,然后运行以下命令:
恩格罗克 http 3000
请注意,我们在端口 3000 上暴露了服务器,这与本地 webhook 应用程序正在侦听的端口相同。
启动 ngrok 后,它会显示一个 UI,其中包含本地服务器转发到的公共 URL。我们将使用此 URL 创建爬虫 Crawlbase的仪表板。该 UI 还显示其他状态和指标信息。

如何创建爬虫
如前所述, Crawler 要求您将爬虫的名称附加为其查询字符串参数之一。
您需要导航到 Crawlbase的仪表板和 在这里创建一个爬虫.

您需要提供一个唯一的名称来标识您的爬虫。 在回调 URL 部分,让我们输入我们之前创建的公共 ngrok URL。 这是抓取的数据将被传送到的地方。
您还将指定是需要发出普通请求还是真正的浏览器请求。
完成后,单击 创建爬虫 按钮。
然后,您会在 Crawler页.
如何发送 Crawler 请求
一切就绪后,就可以发送 Crawler 请求并检索一些在线数据。这是真正的行动开始的地方。在本教程中,我们将检索 这页.
在 Node.js 中发出 HTTP 请求的方法有很多种。 对于本教程,我们将使用轻量级 Crawlbase Node.js 库.
打开另一个终端窗口并安装它:
npm 安装爬虫库
接下来,创建一个名为 请求.js 并添加以下代码:
1 | 常量 { 抓取API } = 要求('crawlbase'); |
要发出请求,请运行以下命令
节点请求.js
如果请求成功,则 Crawler 返回具有唯一标识符 RID 的 JSON 表示形式。您可以在将来使用该 RID 来识别请求。
这是我们得到的推送响应:

如果我们检查我们的 webhook 服务器,我们可以看到目标页面的 HTML 内容被成功抓取:

请注意,在 webhook 服务器上收到了相同的 RID,就像在推送响应中一样。
ngrok UI 还显示 POST 请求成功:

而已!
结语
在本教程中,我们演示了如何使用多功能 Crawlbase“ Crawler 使用异步回调函数从在线源抓取数据。
随着 Crawler,您可以快速流畅地提取在线数据。检索在线信息时,您不必担心泄露身份或遇到访问封锁。这正是您将网络爬虫工作提升到新水平所需要的。
如果您想了解有关如何使用 API 的更多信息,请查看 它的文档在这里.
点击这里 创造一个自由 Crawlbase 帐户并开始使用 Crawler.









