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 旨在簡化將網站內容轉換為適合大型語言模型(LLM)使用的格式的過程。它透過遞迴爬取站點並將每個頁面轉換為乾淨、結構化的 markdown 檔案,解決了雜亂 HTML 難以被 LLM 處理與切分的問題。

How it works

此工具採用多執行緒方式遞迴爬取網站,深度可自訂。它使用 BeautifulSoup 進行 HTML 解析,並使用 markdownify 套件將 HTML 內容轉換為 markdown。使用者可以透過 CLI 或在 Python 程式碼中作為函式庫使用,利用 CSS selector 定義目標內容、排除特定路徑,並使用類似瀏覽器的 User‑Agent 以繞過基本的 JavaScript 檢查。

Who it’s for

此工具主要面向構建 RAG(檢索增強生成)管線的開發者、為 LLM 微調建立資料集的使用者,或為 AI 代理構建專業知識庫的開發者。

Highlights

  • Multithreaded Crawling:透過平行處理加速資料收集。
  • RAG-Ready:正規化文件,使依標題、段落或句子切分更容易。
  • Customizable Filtering:支援 CSS selector、網域匹配與路徑排除的內容過濾。
  • Resumable Scraping:能從上次中斷的地方繼續爬取。
  • CLI and Library Support:既可作為獨立的命令列工具使用,也可整合到 Python 專案中作為函式庫使用。