Home
Login

強力なNode.jsウェブスクレイピングおよびブラウザ自動化ライブラリ。JavaScriptとTypeScriptをサポートし、AI、LLM、RAGなどのためのデータ抽出が可能。

Apache-2.0TypeScript 18.0kapify Last Updated: 2025-06-19

Crawlee - 最新のウェブスクレイピングとブラウザ自動化フレームワーク

プロジェクト概要

Crawleeは、Apify社が開発した強力なNode.jsウェブスクレイピングおよびブラウザ自動化ライブラリであり、信頼性の高いウェブクローラーを構築するために設計されています。このプロジェクトはJavaScriptとTypeScriptをサポートし、AI、大規模言語モデル(LLM)、検索拡張生成(RAG)などのアプリケーションに高品質のデータ抽出サービスを提供できます。

GitHubアドレス: https://github.com/apify/crawlee

主要な機能特性

🚀 統一されたスクレイピングインターフェース

  • マルチエンジンサポート: HTTPリクエストとヘッドレスブラウザスクレイピングをサポートする統一インターフェース
  • 柔軟な選択: ニーズに応じて適切なスクレイピング方法を選択可能

🔄 スマートキュー管理

  • 永続化キュー: 幅優先および深さ優先のURLクロールキューをサポート
  • 自動拡張: システムリソースに基づいてスクレイピング規模を自動調整

💾 柔軟なストレージシステム

  • 多形式サポート: 表形式データとファイルのプラグ可能なストレージをサポート
  • ローカル/クラウド: デフォルトではローカルの./storageディレクトリに保存、クラウドストレージもサポート

🔒 エンタープライズレベルのアンチ検出

  • プロキシローテーション: プロキシローテーションとセッション管理を統合
  • 人間らしいシミュレーション: デフォルト設定で人間の行動をシミュレートし、最新のロボット検出を回避
  • フィンガープリント偽造: 実際のブラウザのようなTLSフィンガープリントとリクエストヘッダーを自動生成

🛠 開発者フレンドリー

  • TypeScriptネイティブサポート: 完全に型定義とジェネリックをサポート
  • CLIツール: プロジェクトを迅速に作成するためのスキャフォールディングを提供
  • ライフサイクルフック: カスタマイズ可能なライフサイクルイベント処理
  • Docker対応: 組み込みのDockerfileにより、デプロイが容易

サポートされるスクレイピング方法

HTTPスクレイピング

  • 高性能: プロキシを含むゼロ構成のHTTP2サポート
  • スマート解析: CheerioとJSDOMを統合した高速HTMLパーサー
  • APIフレンドリー: JSON APIのスクレイピングもサポート

ブラウザ自動化

  • マルチブラウザ: Chrome、Firefox、Webkitなどの複数のブラウザをサポート
  • JavaScriptレンダリング: 動的コンテンツとシングルページアプリケーションを処理
  • スクリーンショット機能: ページスクリーンショットをサポート
  • ヘッドレス/ヘッドフルモード: 柔軟な実行モードの選択
  • 統一インターフェース: PlaywrightとPuppeteerは同じAPIインターフェースを使用

クイックスタート

CLIを使用してプロジェクトを作成

npx crawlee create my-crawler
cd my-crawler
npm start

基本的なサンプルコード

import { PlaywrightCrawler, Dataset } from 'crawlee';

const crawler = new PlaywrightCrawler({
    async requestHandler({ request, page, enqueueLinks, log }) {
        const title = await page.title();
        log.info(`Title of ${request.loadedUrl} is '${title}'`);
        await Dataset.pushData({ title, url: request.loadedUrl });
        await enqueueLinks();
    },
    // headless: false,
});


await crawler.run(['https://crawlee.dev']);

依存関係のインストール

npm install crawlee playwright

技術アーキテクチャ

コアモジュール

  • @crawlee/core: コア機能モジュール
  • @crawlee/types: TypeScript型定義
  • @crawlee/utils: ユーティリティ関数

サポートされるライブラリとツール

  • Playwright: 最新のブラウザ自動化
  • Puppeteer: Chrome/Chromium自動化
  • Cheerio: 高速HTML解析
  • JSDOM: DOM操作と解析

デプロイと統合

ローカル開発

  • デフォルトでは./storageディレクトリにデータが保存されます
  • 構成ファイルを使用してストレージの場所をカスタマイズできます
  • 完全な構成ガイドとドキュメントサポート

クラウドデプロイ

  • Apifyプラットフォーム: CrawleeはApifyによって開発されているため、Apifyクラウドプラットフォームに簡単にデプロイできます
  • Dockerサポート: 組み込みのDocker構成により、コンテナ化されたデプロイをサポート
  • クロスプラットフォーム: Node.jsをサポートする任意の環境で実行可能

バージョン管理

  • 安定版: npmを使用して安定版をインストール
  • ベータ版: ベータ版をインストールして新機能をテストすることをサポート
npm install crawlee@3.12.3-beta.13

適用可能なシナリオ

データサイエンスとAI

  • 機械学習データセット: AIモデルのトレーニングデータを収集
  • RAGシステム: 検索拡張生成システムに知識ベースを提供
  • LLMトレーニング: 大規模言語モデルの事前トレーニングデータ収集

ビジネスアプリケーション

  • 競合分析: 競合他社の製品と価格情報を監視
  • 市場調査: 業界のトレンドと市場データを収集
  • コンテンツアグリゲーション: ニュース、記事などのコンテンツの自動収集

技術監視

  • ウェブサイト監視: ウェブサイトの変更を定期的にチェック
  • 価格追跡: eコマース製品の価格監視
  • データバックアップ: 重要なウェブページコンテンツの定期的なバックアップ

まとめ

Crawleeは、機能が充実し、最新のデザインのウェブスクレイピングフレームワークであり、特に高い信頼性とアンチ検出機能を必要とするエンタープライズレベルのアプリケーションに適しています。統一されたAPI設計、強力なアンチ検出機能、および完全なエコシステムにより、最新のデータ収集プロジェクトに最適な選択肢となっています。AIプロジェクトのデータ収集であろうと、ビジネスインテリジェンス分析であろうと、Crawleeは安定した信頼性の高いソリューションを提供できます。