目录导航
crawlee简介
Crawlee是一个用于Node.js的网络抓取和浏览器自动化库,帮助你构建可靠的网络爬虫。速度极快。
Crawlee涵盖了从抓取到数据提取的整个流程,助你构建可靠的网络爬取工具。即使使用默认配置,你的爬虫也会表现得像人类一样,并且能够规避现代机器人防护系统的监测。Crawlee提供了工具,让你能够在保持可配置性的同时,抓取网页上的链接、提取数据,并将其存储到磁盘或云端,以满足项目需求。
您几乎可以调整 Crawlee 的任何方面。
🛠 特点
- 用于HTTP 和无头浏览器爬行的单一接口
- 要抓取的 URL 的持久队列(广度和深度优先)
- 表格数据和文件的可插拔存储
- 利用可用系统资源自动扩展
- 集成代理轮换和会话管理
- 使用钩子可定制生命周期
- CLI来引导您的项目
- 可配置的路由、错误处理和重试
- Dockerfiles准备部署
- 使用泛型用TypeScript编写
👾 HTTP 爬取
- 零配置HTTP2 支持,即使对于代理也是如此
- 自动生成类似浏览器的标题
- 浏览器TLS 指纹的复制
- 集成快速HTML 解析器。Cheerio 和 JSDOM
- 是的,您也可以抓取JSON API
💻 真实的浏览器抓取
- JavaScript渲染和屏幕截图
- 无头和有头支持
- 零配置生成类人指纹
- 自动浏览器管理
- 使用具有相同界面的Playwright和Puppeteer
- Chrome、Firefox、Webkit等
配置
要在自己的计算机上运行Crawlee,您需要首先满足以下先决条件:
- 安装Node.js 版本 16.0或更高版本。
- 访问Node.js 网站下载或使用fnm
- 安装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 浏览器窗口。在窗口中,您将看到随着爬网程序执行其工作而快速更改的页面。笔记
为了展示这一点,我们放慢了爬虫的速度,但请放心,它在现实世界中的使用速度非常快。
下载地址
使用文档
https://crawlee.dev/docs/quick-start
官网地址
项目地址
https://github.com/apify/crawlee
转载请注明出处及链接