DUICUO

LLMベースのオープンソースWebクローラープロジェクト5つ

インターネットはますます多様化し、技術、コンテンツ、チャネルの面で絶えず進化しています。そのため、従来のウェブクローラーは、特定のウェブページに合わせてカスタマイズした開発が必要になることがよくあります。技術とウェブクローラーの絶え間ない競争により、限られたリソースを絶え間ない変化への対応に投入しなければならず、進化するインターネット環境に動的に対応することが困難になっています。一方、AIベースのウェブデータ抽出は、人間のようにデータを動的にブラウジングし、理解することができます。その利点としては、絶えず変化するウェブサイト構造へのリアルタイム適応、必要なコンテンツの正確な抽出、人間のような手法によるコンテンツの解析、様々な形式でクリーンで構造化されたデータの生成、膨大な量のデータクローリングへの容易な対応などが挙げられます。

学習と参照を容易にするために、以下に推奨されるオープンソース AI Web クローラー プロジェクトをいくつか示します。

1.クロール4ai

https://github.com/unclecode/crawl4ai

Crawl4AI は非同期 Web データ抽出のプロセスを簡素化し、Web データ抽出をシンプルかつ効率的にするため、AI および LLM アプリケーションに最適です。

利点と特徴:

  • 100% オープンソースで無料です。
  • 超高速パフォーマンス: 高速で信頼性の高いクロールにおいて、多くの有料サービスよりも優れています。
  • AI LLM 上に構築: JSON、HTML、またはマークダウン形式でデータを出力します。
  • マルチブラウザサポート: Chromium、Firefox、WebKit とシームレスに動作します。
  • 複数の URL を同時にクロールできるため、複数の Web サイトを一度に処理して効率的にデータを抽出できます。
  • マルチメディア サポート: 画像、オーディオ、ビデオ、およびすべての HTML メディア タグを簡単に抽出できます。
  • リンクの抽出: より深いデータ マイニングのために、すべての内部リンクと外部リンクを取得します。
  • XML メタデータの取得: ページのタイトル、説明、その他のメタデータを取得します。
  • カスタマイズ可能: 認証、タイトル、またはカスタム ページの変更機能を追加します。
  • 匿名性がサポートされています: ユーザー エージェント設定をカスタマイズします。
  • スクリーンショットのサポート: 強力なエラー処理機能を備えており、ページのスナップショットをキャプチャできます。
  • カスタム JavaScript: カスタマイズされた結果をスクレイピングする前にスクリプトを実行します。
  • 構造化データ出力: ルールに従って適切に構造化された JSON データを生成します。
  • インテリジェント抽出: LLM、クラスタリング、正規表現、または CSS セレクターを使用した正確なデータ スクレイピング。
  • プロキシ認証: 安全なプロキシを介して保護されたコンテンツへのアクセスをサポートします。
  • セッション管理: 複数ページのナビゲーションを簡単に処理します。
  • 画像の最適化: 遅延読み込みとレスポンシブ画像をサポートします。
  • 動的コンテンツの処理: インタラクティブ ページの遅延読み込みを管理します。
  • LLM 対応ヘッダー: LLM 固有のインタラクションを渡すためのカスタム ヘッダー。
  • 正確な抽出: キーワードまたは指示を使用して結果を最適化します。
  • 柔軟な設定: タイムアウトと遅延を調整して、よりスムーズなデータキャプチャを実現します。
  • iframe サポート: より詳細なデータ抽出のために iframe からコンテンツを抽出します。

2. スクレイプグラフAI

https://github.com/ScrapeGraphAI/Scrapegraph-ai

ScrapeGraphAIは、Webデータスクレイピング用のPythonライブラリです。LLMと論理グラフを使用して、Webサイトまたはローカルドキュメント(XML、HTML、JSON、Markdownなど)のスクレイピングプロセスを作成します。

3.llmスクレーパー

https://github.com/mishushakov/llm-scraper

LLM Scraperは、LLMをベースにしたTypeScriptのWebスクレイピングライブラリです。コード生成もサポートしています。

利点と特徴:

  • ローカルまたは MaaS プロバイダーをサポート: Ollama、GGUF、OpenAI、Vercel AI SDK
  • Zodによって定義されたパターンを使用する
  • TypeScript を使用した完全な型安全性の実現
  • Playwrightフレームワークに基づいて
  • ストリーミングオブジェクト
  • コード生成をサポート
  • 4 つのデータ フォーマット モードをサポートします。
  • htmlは生のHTMLを読み込むために使用されます
  • markdown は markdown を読み込むために使用されます。
  • `text` プロパティは、抽出されたテキストを読み込むために使用されます (Readability.js を使用)。
  • 画像はスクリーンショットを読み込むために使用されます (マルチモードのみ)。

4.crawlee-python

https://github.com/apify/crawlee-python

Crawleeは、Webクローリングとブラウザ自動化のためのPythonライブラリです。AI、LLM、RAG、GPT方式を用いてWebページデータを抽出し、HTML、PDF、JPG、PNGなどのファイルをWebサイトからダウンロードします。BeautifulSoup、Playwright、そして生のHTTPで動作します。ヘッダーモードとヘッドレスモードの両方とプロキシローテーションルールをサポートしています。

5. サイバースクレイパー

https://github.com/itsOwen/サイバースクレイパー-2077

Cyber​​Scraper 2077は、OpenAI、Gemini、またはローカル大規模モデルをベースにしたウェブクロールツールです。正確かつ効率的なデータ抽出を目的として設計されており、データアナリスト、技術愛好家、そしてオンライン情報へのシンプルなアクセスを求めるあらゆる方に最適です。

利点と特徴:

  • AI ベースの抽出: AI モデルを利用して、Web コンテンツをインテリジェントに理解および解析します。
  • スムーズで合理化されたインターフェース: ユーザーフレンドリーな GUI。
  • 複数の形式のサポート: JSON、CSV、HTML、SQL、または Excel 形式でデータをエクスポートします。
  • ステルス モード: ロボットとして検出されるのを回避するためにステルス モード パラメータを実装します。
  • LLM サポート: さまざまな LLM をサポートする機能を提供します。
  • 非同期操作: 非同期操作により、超高速のアクションが可能になります。
  • インテリジェントな解析: ユーザー自身のメモリから直接抽出されたかのようにコンテンツをキャプチャします。
  • キャッシュ: コンテンツ ベースおよびクエリ ベースのキャッシュは、LRU キャッシュとカスタム ディクショナリを使用して実装され、冗長な API 呼び出しを削減します。
  • Google スプレッドシートへのアップロードをサポート: 抽出した CSV データを Google スプレッドシートに簡単にアップロードできます。
  • CAPTCHA バイパス: URL の末尾に CAPTCHA を使用することで、CAPTCHA をバイパスできます。(現在はローカルでのみ機能し、Docker では機能しません。)
  • 現在のブラウザ: ランタイム環境でローカル ブラウザ環境を使用すると、ボット検出の 99% を回避できます。
  • プロキシ モード (近日公開): 組み込みのプロキシ サポートにより、ネットワーク制限を回避できます。
  • Web ページの閲覧: Web ページを閲覧し、さまざまなページからデータを取得します。