首页 程序笔记 Crawlee 下一代网络爬虫与浏览器自动化工具

Crawlee 下一代网络爬虫与浏览器自动化工具

在数字化时代,数据是企业决策和创新的基石。网络爬虫作为获取数据的重要工具,其重要性不言而喻。今天,我们将深入探讨Crawlee,一个为Node.js环境设计的先进网络爬虫和浏览器自动化库,它如何帮助开发者构建快速、可靠且易于维护的爬虫。

Crawlee简介

Crawlee是由Apify团队开发的一个开源项目,旨在提供一个强大、灵活且易于使用的网络爬虫框架。它支持JavaScript和TypeScript,使得开发者可以使用他们熟悉的语言来构建爬虫。

Crawlee官网地址:https://crawlee.dev/

Crawlee的主要特性

多语言支持:Crawlee支持JavaScript和TypeScript,提供IDE中的代码补全功能。

无头浏览器集成:Crawlee建立在Puppeteer和Playwright之上,允许开发者轻松切换到无头浏览器进行数据抓取。

智能代理轮换:通过智能轮换代理,Crawlee帮助开发者绕过网站的反爬虫机制。

数据提取与存储:Crawlee提供了方便的数据提取和存储机制,支持将结果保存为JSON、CSV等格式。

社区支持:Crawlee拥有活跃的社区,开发者可以在Discord上与其他用户交流和分享经验。

快速上手

Crawlee提供了CLI工具,使得开发者可以快速开始一个新项目。以下是使用Crawlee CLI创建新项目的步骤:

安装Crawlee CLI:

npm install -g @crawlee/cli

创建新项目

crawlee create my-crawler

案例演示

将Crawlee添加到我们现有的项目中的时候,我们需要安装Playwright。它没有与 Crawlee 捆绑在一起,因为它的体积过大。

npm install crawlee playwright

Crawlee示例代码

import { PlaywrightCrawler } from 'crawlee';

// PlaywrightCrawler crawls the web using a headless browser controlled by the Playwright library.
const crawler = new PlaywrightCrawler({
    // Use the requestHandler to process each of the crawled pages.
    async requestHandler({ request, page, enqueueLinks, pushData, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);

        // Save results as JSON to `./storage/datasets/default` directory.
        await pushData({ title, url: request.loadedUrl });

        // Extract links from the current page and add them to the crawling queue.
        await enqueueLinks();
    },

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

    // Comment this option to scrape the full website.
    maxRequestsPerCrawl: 20,
});

// Add first URL to the queue and start the crawl.
await crawler.run(['https://crawlee.dev']);

// Export the whole dataset to a single file in `./result.csv`.
await crawler.exportData('./result.csv');

// Or work with the data directly.
const data = await crawler.getData();
console.table(data.items);

Crawlee架构

Crawlee的架构设计考虑了扩展性和灵活性,允许开发者根据自己的需求定制爬虫。以下是Crawlee的一些核心组件:

Crawler:爬虫的基类,提供了基本的爬取逻辑。

Request:表示单个HTTP请求,可以包含URL、方法、头信息等。

RequestList:管理爬虫将要处理的请求队列。

RequestHandler:处理每个请求的逻辑,可以在这里编写数据提取和页面操作的代码。

Crawlee的使用场景

Crawlee可以应用于多种场景,包括但不限于:

市场调研:自动收集竞争对手的价格和产品信息。

社交媒体分析:抓取社交媒体平台上的数据,进行情感分析或趋势研究。

价格监控:监控特定商品的价格变动,及时获取价格下降的通知。

数据聚合:从多个网站收集数据,构建自己的数据集。

Crawlee部署与扩展

Crawlee可以部署在本地环境,也可以部署到云端。Apify平台提供了便捷的部署选项,允许开发者将Crawlee项目转换为Actor,享受云存储、代理和计算资源。

Crawlee作为一个现代化的网络爬虫工具,为开发者提供了强大的功能和灵活性。无论您是数据科学家、开发人员还是业务分析师,Crawlee都能帮助您高效地获取和处理网络数据。值得注意的是,Crawlee除了JavaScript版本之外,还有一个python版本的,如果你熟悉python,或者习惯python代码,那么你可以选择python版本的Crawlee。

1

站心网

在数字化时代,数据是企业决策和创新的基石。网络爬虫作为获取数据的重要工具,其重要性不言而喻。今天,我..

为您推荐

新版彩虹工具网源码v1.9.0更新

新版彩虹工具网采用ThinkPHP6.0开发,自带70多个工具,包含站长工具、开发工具、实用工具、娱乐工具等分类,支持工具插件扩展,支持留言、用户注册登录、后台管理功能。目前已经更新到了1.9版本,新增了QQ等级查询、..

禁止的垃圾蜘蛛,网站优化加速屏蔽国外垃圾无用蜘蛛,防止抓取导致带宽占用!

常见的网络恶意垃圾爬虫蜘蛛1、MJ12BotMJ12Bot 是英国著名SEO公司Majestic的网络爬虫,其抓取网页给需要做SEO的人用,不会给网站带来流量。2、AhrefsBotAhrefsBot 是知名SEO公司Ahrefs的网页爬虫。其同样抓取网页给S..

从0到1,网络互助起航式

随着移动互联网的快速发展,网络互助的模式已经进入起步状态,未来,网络互助行业前景一片大好。在距今2000余年前的古罗马时期,由于连年征战,士兵们大量死伤导致家中妻女无人依靠。于是,这些争战沙场的士兵们联合..

2025年最受欢迎浏览器排行榜

根据2025年的用户数据和各大评测机构的分析,以下是最受欢迎的浏览器排行榜:谷歌Chrome:凭借其高效的渲染引擎、丰富的插件支持以及与谷歌生态系统的深度整合,Chrome继续稳居市场首位。谷歌Chrome官网下载地址:ht..

10款.NET开发中推荐的代码分析和质量工具

以下是10款.NET开发中常用的代码分析和质量工具列表,以及它们的主要功能和使用场景:1. SonarQube简介:一个流行的开源静态代码分析平台,用于检测代码中的漏洞、错误、技术债务等问题。主要功能:支持代码质量监测..

Tesseractjs 前端OCR识别提取图像文本字符工具 支持 100+ 种语言

Tesseract.js 简介Tesseract.js 是一个基于 Tesseract OCR 引擎的开源 JavaScript 库,用于在浏览器和 Node.js 环境中执行光学字符识别 (OCR)。它的特点是无需依赖服务器端支持,完全在客户端执行 OCR 操作。Tessera..

微软发布VS Code AI工具包,集成多模型AI能力

微软发布了VS Code AI工具包,增强了代码编辑器的AI功能!微软推出了VS Code AI工具包,这是一个全新的扩展,旨在将AI功能集成到Visual Studio Code中。该工具包支持多种AI模型,包括本地和远程模型,用户可以配置自..

chrome 开发者工具如何查看元素:hover时的样式

在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..

ideogram.ai 人工智能AI图片生成工具网站

Ideogram是一个由前Google Brain员工创立的AI绘画工具,它能够根据文本生成各种风格的图像,尤其擅长准确生成文本内容和抽象图标。Ideogram官网地址:https://ideogram.ai/loginIdeogram是由前Google Brain员工在202..

DrissionPage 基于Python的网页自动化工具

在数字化时代,网页自动化工具成为开发人员和数据分析师的得力助手。今天,我们将深入探索一款名为 DrissionPage 的全能网页自动化工具,它以其强大的功能和优雅的语法,成为 Python 程序员的新宠。什么是 DrissionP..

DockerUI 中文可视化Docker管理工具使用示例

DockerUI 是由国内开发者打造的一款优秀的 Docker 可视化管理工具。该工具拥有简洁直观的UI界面,可以轻松进行Docker主机管理、集群管理,以及Docker任务的编排等操作。DockerUI不仅展示了资源利用率、系统信息和更..

11款免费.NET开发工具

HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担。本文为开发者介绍了11款.NET框架,这些框架有很多优点,比如提供用户界面,数据访问,数据库..

6款好用的数据挖掘工具

当今这个时代,说数据就是金钱一点都不夸张。随着向一个基于应用的领域过渡,数据则呈现出了指数级增长。然而,大部分数据是非结构化的,因此它需要一个程序和方法来从中提取有用信息,并且将其转换为可理解、可用..

c# 爬虫组件有哪些?

在C#中,有许多用于构建爬虫(网络爬虫)的组件和库,它们可以帮助您从网页上抓取数据。以下是一些常用的C#爬虫组件和库:HtmlAgilityPack:这是一个流行的HTML解析库,可用于从HTML页面中提取数据。它可以帮助您遍..

5个HTML5开发工具推荐

HTML5规范终于在今年正式定稿,对于从事多年HTML5开发的人员来说绝对是一个重大新闻。数字天堂董事长,DCloud CEO王安也发表了文章,从开发者和用户两个角度分析了HTML对两个人群的优势。 1. HTML5 Maker 在未来的..

使用Tor洋葱浏览器访问暗网注意事项

洋葱浏览器是一种匿名浏览器,它通过使用多层加密和网络隧道来隐藏您的IP地址和网络活动,从而保护您的隐私。下面是使用洋葱浏览器的简单步骤:下载和安装洋葱浏览器:您可以从洋葱浏览器的官方网站https://www.torp..

程序员开发人员常用工具和网站

给大家分享一些程序员开发人员常用工具和网站,我相信这里总有一款工具适合你。排名不分先后~Visual Studio CodeVisual Studio Code官网地址:https://code.visualstudio.com/Visual Studio Code重新定义和优化了代..

头条搜索站长工具网站提交

头条搜索站长平台官网地址:https://zhanzhang.toutiao.com/头条站长是一款提供网站分析和优化建议的工具,可以帮助站长了解其网站的流量情况、用户行为、页面质量等信息,以便对网站进行优化和改进。它的功能和百度..

AI文本工具网站有哪些?

AI 文本工具是一类利用人工智能技术实现自然语言处理的在线工具。以下是一些常见的 AI 文本工具站,以及它们的简单介绍和官方网址:OpenAI GPT-3 PlaygroundOpenAI GPT-3 Playground 是由 OpenAI 推出的一个在线 AI ..

AI绘画工具合集分享

给大家分享一些比较火的AI绘画工具,让人工智能帮助你加轻松高效地生成图片而不用担心版权问题。Midjourney官网:https://www.midjourney.comMidjourney是一个AI绘画工具,可以让用户使用各种样式和颜色生成图片。用..

发表回复

返回顶部