paulpierre/markdown-crawler
A multithreaded 🕸️ web crawler that recursively crawls a website and creates a 🔽 markdown file for each page, designed for LLM RAG
What it solves
markdown-crawler は、Web サイトのコンテンツを大規模言語モデル(LLM)に適した形式に変換するプロセスを簡素化するために設計されています。HTML が乱雑で LLM が処理・チャンク化しにくいという問題を、サイトを再帰的にクロールし、各ページをクリーンで構造化された Markdown ファイルに変換することで解決します。
How it works
このツールは、指定された深さまでサイトを再帰的にクロールするマルチスレッド方式を採用しています。HTML の解析には BeautifulSoup を、HTML から Markdown への変換には markdownify ライブラリを使用します。CLI からでも Python コード内のライブラリとしてでも利用でき、CSS セレクタで対象コンテンツを指定したり、特定のパスを除外したり、ブラウザに似た User‑Agent を使って基本的な JavaScript チェックを回避したりできます。
Who it’s for
このツールは主に、RAG(Retrieval Augmented Generation)パイプラインを構築する開発者、LLM のファインチューニング用データセットを作成する人、あるいは AI エージェント向けの専門知識ベースを構築する人向けです。
Highlights
- Multithreaded Crawling: 並列処理による高速なデータ収集。
- RAG-Ready: ヘッダー、段落、文単位でのチャンク化がしやすいように文書を正規化。
- Customizable Filtering: 対象コンテンツの CSS セレクタ、ドメインマッチ、パス除外をサポート。
- Resumable Scraping: 中断した場所からスクレイピングを再開可能。
- CLI and Library Support: スタンドアロンのコマンドラインツールとしても、Python プロジェクトに組み込んでライブラリとしても使用可能。