crawlee 快速可靠的网络爬虫工具

crawlee 快速可靠的网络爬虫工具

crawlee简介

Crawlee是一个用于Node.js的网络抓取和浏览器自动化库,帮助你构建可靠的网络爬虫。速度极快。

Crawlee涵盖了从抓取到数据提取的整个流程,助你构建可靠的网络爬取工具。即使使用默认配置,你的爬虫也会表现得像人类一样,并且能够规避现代机器人防护系统的监测。Crawlee提供了工具,让你能够在保持可配置性的同时,抓取网页上的链接、提取数据,并将其存储到磁盘或云端,以满足项目需求。

您几乎可以调整 Crawlee 的任何方面。

crawlee 快速可靠的网络爬虫工具

🛠 特点

  • 用于HTTP 和无头浏览器爬行的单一接口
  • 要抓取的 URL 的持久队列(广度和深度优先)
  • 表格数据和文件的可插拔存储
  • 利用可用系统资源自动扩展
  • 集成代理轮换和会话管理
  • 使用钩子可定制生命周期
  • CLI来引导您的项目
  • 可配置的路由错误处理重试
  • Dockerfiles准备部署
  • 使用泛型用TypeScript编写

👾 HTTP 爬取

  • 零配置HTTP2 支持,即使对于代理也是如此
  • 自动生成类似浏览器的标题
  • 浏览器TLS 指纹的复制
  • 集成快速HTML 解析器。Cheerio 和 JSDOM
  • 是的,您也可以抓取JSON API

💻 真实的浏览器抓取

  • JavaScript渲染屏幕截图
  • 无头有头支持
  • 零配置生成类人指纹
  • 自动浏览器管理
  • 使用具有相同界面的PlaywrightPuppeteer
  • ChromeFirefoxWebkit

配置

要在自己的计算机上运行Crawlee,您需要首先满足以下先决条件:

  1. 安装Node.js 版本 16.0或更高版本。
  2. 安装NPM,或使用您选择的其他包管理器。
    • NPM 与 Node.js 捆绑在一起,因此您应该已经拥有它。如果没有,请重新安装 Node.js。

如果不确定,请运行以下命令确认先决条件:

node -v
npm -v

创建一个新项目

使用 Crawlee 创建新项目的最快、最好的方法是使用Crawlee CLI。您可以使用该npx实用程序下载并运行 CLI – 它嵌入在crawlee软件包中:

npx crawlee create my-crawler

将显示一条提示,要求您选择一个模板。Crawlee 是用 TypeScript 编写的,因此如果您熟悉它,选择 TypeScript 模板将为您提供更好的代码完成和静态类型检查,但也可以随意使用 JavaScript。从功能上来说,它们是相同的。

让我们选择第一个名为Getting Started example的模板。该命令将在当前工作目录中创建一个名为my-crawler 的新目录,将package.json添加到此文件夹并安装所有必要的依赖项。它还将添加您可以立即运行的示例源代码。

让我们试试吧!

cd my-crawler
npm start

当 Crawlee 启动并开始抓取 Crawlee 网站时,您将在终端中看到日志消息。

INFO  PlaywrightCrawler: Starting the crawl
INFO PlaywrightCrawler: Title of https://crawlee.dev/ is 'Crawlee · Build reliable crawlers. Fast. | Crawlee'
INFO PlaywrightCrawler: Title of https://crawlee.dev/docs/examples is 'Examples | Crawlee'
INFO PlaywrightCrawler: Title of https://crawlee.dev/api/core is '@crawlee/core | API | Crawlee'
INFO PlaywrightCrawler: Title of https://crawlee.dev/api/core/changelog is 'Changelog | API | Crawlee'
INFO PlaywrightCrawler: Title of https://crawlee.dev/docs/quick-start is 'Quick Start | Crawlee'

您始终可以在终端中按下按键来终止爬网:

CTRL+C

运行 headful浏览器

由 Playwright 控制的浏览器无头运行(没有可见窗口)。headless: false您可以通过取消注释爬虫构造函数中的选项来切换到 headful 。当您想要查看浏览器中发生的情况时,这在开发阶段非常有用。

// Uncomment this option to see the browser window.
headless: false

当您再次运行该示例时,一秒钟后将打开一个 Chromium 浏览器窗口。在窗口中,您将看到随着爬网程序执行其工作而快速更改的页面。笔记

为了展示这一点,我们放慢了爬虫的速度,但请放心,它在现实世界中的使用速度非常快。

crawlee 快速可靠的网络爬虫工具

下载地址

crawlee

使用文档

https://crawlee.dev/docs/quick-start

官网地址

https://crawlee.dev/

项目地址

https://github.com/apify/crawlee

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注