AIパーソナル・ラーニング
と実践的なガイダンス
讯飞绘镜

Crawlee: Node.jsによる信頼性の高いWebクローラとブラウザ自動化ツールの構築

はじめに

Crawleeは、Apifyによって開発されたオープンソースのウェブクローラおよびブラウザ自動化ライブラリで、Node.js環境向けに設計されています。JavaScriptとTypeScriptをサポートし、Puppeteer、Playwright、Cheerio、JSDOMなどのツールと連携して、強力なデータクローリングと自動化機能を提供します。HTML、PDF、JPG、PNGなどをダウンロードします。クローラーをより人間の操作に近づけるように設計されており、最新のアンチクローラー機構を回避することができ、エージェントのローテーションとセッション管理をサポートし、様々な複雑なウェブクローリングタスクに適しています。

Crawlee for Pythonはアーリーアダプターを募集している!

Crawlee:使用Node.js构建可靠的网络爬虫和浏览器自动化工具-1

 

機能一覧

  • HTTPおよびヘッドレス・ブラウザ・クローリング用の単一インターフェース
  • 永続的なURLクローリングキュー(幅優先と深さ優先)
  • プラグイン可能なデータおよびファイルストレージ
  • システムリソースに応じて自動的に拡張
  • エージェントのローテーションとセッション管理の統合
  • ライフサイクルはフックでカスタマイズ可能
  • プロジェクトをブートストラップするためのCLIツール
  • 設定可能なルーティング、エラー処理、リトライ機構
  • デプロイのためのDockerfileの提供
  • ジェネリックをサポートしたTypeScriptで書かれている
  • HTTP2のサポートとブラウザスタイルのリクエストヘッダの自動生成
  • 統合された高速HTMLパーサー(CheerioとJSDOM)
  • JSON APIクロールのサポート
  • JavaScriptレンダリングとスクリーンショットのサポート
  • ヘッドレスとヘディング・モードのサポート
  • 人間型指紋の自動生成
  • PlaywrightとPuppeteerを使った統一インターフェース
  • Chrome、Firefox、Webkitなどに対応。

 

ヘルプの使用

取り付け

CrawleeにはNode.js 16以上が必要です。以下のコマンドで素早くインストールし、サンプルのクローラーを作成することができます:

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

手動でインストールしたい場合は、以下のコマンドを使用できる:

npm install crawlee playwright

その後、プロジェクトにインポートして使用する:

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, // Uncomment to see the browser window
});
await crawler.run(['https://crawlee.dev']);

機能 操作の流れ

  1. クローラー・プロジェクトの作成Crawlee CLIは、必要な依存関係をすべてインストールし、サンプルコードを追加します。
  2. クローラーの設定クローラーのリクエスト処理ロジック、データ保存場所、プロキシ設定などをプロジェクトで設定します。
  3. クローラーの実行コマンドラインからクローラを実行すると、Crawleeが自動的にリクエストを処理し、データを取得して結果を保存します。
  4. データストレージCrawleeは、デフォルトで現在の作業ディレクトリにデータを保存します。 ./storage このディレクトリは、コンフィギュレーション・ファイルで上書きすることができる。
  5. 拡張機能クローラーの安定性と信頼性を確保するために、必要に応じてカスタムフック、エラー処理メカニズム、リトライポリシーを追加する。

プロキシとセッション管理

Crawleeはプロキシローテーションとセッション管理を統合することで、クローリング中にクローラーがターゲットWebサイトによってブロックされないようにします。プロキシリストとセッションのパラメータは、設定ファイルによって設定することができます。

展開

Crawleeは、クローラをクラウドやその他の環境に簡単にデプロイするためのDockerfileを提供しています。Dockerコンテナは以下のコマンドでビルドして実行することができます:

docker build -t my-crawler .
docker run my-crawler

無断転載を禁じます:チーフAIシェアリングサークル " Crawlee: Node.jsによる信頼性の高いWebクローラとブラウザ自動化ツールの構築
ja日本語