Web ページをテキストに変換 (Web2Txt)

JavaScript で描画されるページを含む任意の URL をクリーンな Markdown に変換。AI、調査、資料作成向けにコピーまたはダウンロードできます。

Web ページをテキストに変換:URL からクリーンな Markdown へ

モデルに渡したい情報がWeb上にしか存在しない、という場面はよくあります。ライブラリの最新ドキュメント、社内Wikiの仕様ページ、リリースノート。上の欄にURLを貼れば、そのページを取得してナビゲーションやスクリプトを剥がし、Markdownとして返します。裏側で動いているのは Crawl4AI、AI用途を前提に作られたオープンソースのクローリング/スクレイピングフレームワークです。非同期での並行取得、JavaScriptの実行、チャンク分割、LLMが読みやすい出力形式といったものが揃っていて、このページはそれをインストールなしで1URL分だけ使えるようにしたものだと考えてください。

Crawl4AIとは何なのか

Crawl4AIは、大規模なクローリングとデータ抽出のためのPythonライブラリです。設計の出発点が「集めたデータをそのままモデルに食わせたい」というところにあるのが特徴で、複数URLの非同期取得、テキストとメディアの両方の収集、そして構造化された形式での出力を1つのライブラリでまかなえます。

取得先はECの商品一覧でも、ニュース記事でも、論文でも、SNSの投稿でも構いません。出力はNLPの前処理、GPT系モデルのファインチューニング、ナレッジグラフの構築にそのまま流せる形になります。

サイトからテキストを抽出するツールとして、どこが違うのか

オープンソースのクローラーは数多くありますが、Crawl4AIには他にない性質がいくつかあります。

  • そのままモデルに渡せる出力: JSON、整形済みHTML、Markdownを出力できます。埋め込み用に構造化されたJSONが欲しい場合も、RAGのプロンプトに入れるチャンク済みMarkdownが欲しい場合も、後処理を挟まずに済みます。
  • 非同期での並行取得: Pythonのasyncioを使って複数URLを同時にクロールします。1件ずつ順番に取りに行く実装と比べると、数千ページ規模では所要時間の桁が変わります。
  • オープンソースで手を入れられる: コードを読んで改造できます。隠れた課金もなければ、有料版でしか使えない機能もありません。ドメイン固有の事情に合わせて抽出ロジックを差し替えられるのは、この種のツールでは実際かなり効きます。
  • チャンク分割戦略: 文単位、トピック単位、正規表現ベースといった分割方法が用意されています。生のHTMLを意味のある単位に切り分ける部分は自前で書くと面倒なところなので、選べるだけで助かります。
  • メディアの取得: 対象はテキストだけではありません。画像、音声、動画に加えて、SPAやAJAX依存のサイトでJavaScript描画されたコンテンツも取れます。
  • 速度: パフォーマンス面はかなり詰めてあり、多くのワークロードで有償のスクレイピングサービスと同等かそれ以上の結果が出ます。実行時間もコストも下がります。

主要機能を細かく見る

1. 非同期クローリング

従来型のクローラーは1URLずつ取得するため、数百から数千ページを相手にするとネットワーク待ちがそのままボトルネックになります。Crawl4AIはasyncioで複数ページを並行に取りに行くので、合計時間が大幅に短くなります。取得量と速度の両方が要るAI系のデータ収集では、ここが一番効きます。

2. AI用途を前提にしたデータ変換

データを集めるだけでは足りず、学習やファインチューニングに使える形に整える工程が必ず要ります。Crawl4AIの出力形式(JSON、Markdown、整形済みHTML)は、面倒な後処理を挟まずにNLPや画像処理のパイプラインへ流せるようになっています。加えてチャンク分割で本文を短い単位に切っておけるので、RAGや埋め込みベースの検索にそのまま乗せられます。

3. JavaScriptの実行と動的コンテンツの取得

肝心の情報がJavaScriptでしか描画されないサイトは年々増えています。Crawl4AIにはブラウザ自動化(Playwrightなど)を使うオプションがあり、動的なコンテンツも取得できます。SPA、無限スクロール、操作や一定時間の経過後に初めてデータを読み込むページなどが対象です。

4. メディアとメタデータの抽出

本文の解析だけで話が終わることは多くありません。Crawl4AIはページに埋め込まれたメディア(画像、音声、動画)も取得でき、メタデータをパースしてページ構造の情報も返します。マルチメディアの分類、感情分析、特定ドメインの素材での生成モデル学習など、テキスト以外を扱うときに必要になる部分です。

5. エラー処理とレート制限

大規模なクロールは、ネットワーク断、リンク切れ、相手サーバーの過負荷で簡単に崩れます。Crawl4AIにはエラー処理とリトライが組み込まれており、レート制限も設定できます。取りこぼしが減るだけでなく、クロール先のサーバーに無用な負荷をかけずに済みます。本番のパイプラインに載せるなら、この地味な部分が結局いちばん重要です。

6. モジュール化された構成

フックやUser-Agentの差し替えから、XPathや正規表現を使った抽出戦略まで、プラグイン機構で各段階に手を入れられます。認証、キャッシュ、後処理といった自前のロジックを組み込めるので、既存のワークフローに合わせにいけます。

どういう人が何に使っているか

Crawl4AIの使いどころは、扱うデータの種類だけ存在します。

  • AI研究者: 言語モデルの学習用に大量のテキストとメディアを集める、感情分析を試す、特定分野のナレッジベースを作る、といった用途です。
  • データサイエンティスト: 既存のデータパイプラインに組み込んで、複数のソースから最新の情報を取得します。構造化された出力なので、分析基盤や機械学習フレームワークへ直接投入できます。
  • ビジネスインテリジェンス: 競合調査、価格変動の監視、複数サイトにまたがるブランド評価の追跡を、ほぼリアルタイムで回せます。
  • コンテンツ制作: 参考資料をまとめて集める、話題になっているトピックを追う、記事やキャンペーンの切り口を探すといった作業が速くなります。
  • 教育・研究: 論文誌や学術記事を集めて文献レビューに使います。非同期モデルのおかげで、大規模な収集でも待ち時間が現実的な範囲に収まります。

開発中のツールについて

Crawl4AI自体はすでに十分な機能を備えていますが、その上に乗せる形で新しいツールを開発中です。クロールした生データをAIで使える形に整えるところを自動化するのが狙いで、いま想定しているのは次のような内容です。

  • データのクリーニングとラベル付けの自動化: 取得したデータの整形、正規化、ラベル付けをモジュールとして持たせます。学習用データを作るときに手作業で潰れる時間を減らすためです。
  • LLMとの接続: 主要なLLMプラットフォームに直接つなぎ、集めたばかりのコンテンツでモデルを試したりファインチューニングしたりできるようにします。収集と実験の間の手作業をなくすのが目的です。
  • ダッシュボード: クロールの進捗、集計結果、傾向をブラウザ上で確認できるようにします。
  • スケジューリングとオーケストレーション: 定期実行、リソース監視、Dockerなどのコンテナ環境との連携によるスケール。
  • ワンクリックのデプロイ: クロール処理をクラウドに載せ、分散かつ耐障害性のある形で大規模に回せるようにします。

要するに、Crawl4AIの上に一段重ねて、Webページの取得からデータセットやモデル構築までを一続きにするツールです。慣れた開発者にも、これから触る人にも、同じ手数で使えるものを目指しています。

オープンソースとしてのCrawl4AI

オープンソースはライセンスの話であると同時に、開発の進み方の話でもあります。Crawl4AIのGitHubリポジトリにはすでに活発なコミュニティがあり、コードの投稿、バグ報告、ドキュメントの整備、機能の議論が日常的に動いています。リリースごとに速く、柔軟になっているのはその結果です。

参加したい場合は、ドキュメントとIssue、サンプルコードを見るところから始めるのが早いです。特定サイト向けの抽出戦略を書く、パフォーマンスを詰める、といった手の入れどころはいくらでもあります。

実際の導入事例

早い段階からCrawl4AIを使っているチームからは、収集にかかる時間とデータの質の両面で改善したという報告が来ています。大学の研究チームが数千本の論文をインデックス化するのに、従来のクローラーの何分の一かの時間で済ませた例があります。AIスタートアップが感情分析用のSNSデータをリアルタイムに集めるパイプラインに組み込み、運用コストを大きく下げつつ対象範囲を広げた例もあります。

開発中のツールは、この部分をさらに手前から自動化するものです。クロールした生の情報を、分析やファインチューニングにそのまま使える構造化データへ変換するところまでを引き受けます。Crawl4AIと組み合わせることで、収集から分析、モデル開発までが1本の流れになります。

今後の予定

Crawl4AIのロードマップには、次のような項目が並んでいます。

  • グラフクローラー: グラフ探索アルゴリズムで入れ子になったページをたどり、リンク先の取りこぼしをなくします。
  • AIによるクロール制御: 自然言語の指示や取得済みの内容に応じて、探索範囲を動的に調整します。
  • サイト別のスクレイパー: 論文アーカイブ、ECサイト、ニュースサイトなど、よく使われる対象向けの設定済みモジュール。
  • LLMを使った抽出の強化: プロンプトテンプレートや独自モデルを組み込み、クロールの最中に構造化まで済ませます。
  • クラウドへのデプロイ: 主要クラウド向けのワンクリック構成で、スケールと負荷分散を簡単にします。

どれも、集められるデータの範囲と使いやすさを広げるための機能です。

AI向けにコンテンツを用意する他の方法

Web2Txtは、AI周りの作業を減らすために作っている無料ツール群Repo2Txtの一部です。Webページ以外にも、コードをそのままAIに渡せるテキストに変換できます。 GitHubをテキストに変換GitLabをテキストに変換ローカルディレクトリを変換をどうぞ。

Webページではなくドキュメントを変換したい場合は、 File2Txtがあります。無料の ファイルからテキストへの変換ツールで、PDF、Word文書、PowerPointのスライド、Excelのシート、画像などをきれいなMarkdownにします。 PDFをMarkdownに変換したい、PDFから本文を抽出したい、あるいは JPGをテキストにPNGをテキストにしたい——File2Txtはいずれにも対応していて、どの形式でもLLMにそのまま渡せる出力を返します。

コードでも、ドキュメントでも、Webページでも、AIに読ませる形に整えるための道具は一通り揃っています。

よくある質問

WebページをMarkdownに変換するには?

上の欄にURLを貼るだけです。ページを取得してナビゲーションやスクリプトを取り除き、コピーもダウンロードもできるMarkdownとして返します。インストールもPython環境もAPIキーも要りません。Crawl4AIをライブラリとして自分で動かす場合との違いは、そこです。

自分でCrawl4AIを入れるのとどう違いますか?

1万ページを定期的にクロールし、独自の抽出ルールと自前のストレージを使うなら、ライブラリのほうが正解です。こちらはもう一方のケース、つまり「いま、このURLを1本、ブラウザのタブで」という場合のためのものです。半日かけて環境を組むより先に、次のメッセージにドキュメントを貼りたいときに使ってください。

最新のドキュメントをLLMに読ませる用途に使えますか?

いちばん向いている使い方です。モデルには学習データのカットオフがあるので、それ以降にリネームされたり削除されたりしたAPIメソッドを、自信たっぷりに説明してきます。現在のドキュメントページを変換してコンテキストに貼れば、記憶からの推測ではなく実際の現行インターフェースを見て答えるようになり、存在しないメソッド名が出る頻度がはっきり下がります。

JavaScriptで描画されるページでも動きますか?

クライアント側で描画するページは、どのスクレイパーにとっても難所です。スクリプトの実行後にしか現れないコンテンツは取得したHTMLに含まれず、出力が薄いか空になることがあります。その場合はページを開いてブラウザの「名前を付けて保存」を使い、保存したファイルをHTMLからMarkdownに通してください。描画はブラウザが済ませてくれています。

ドキュメントサイト全体を一度にクロールできますか?

このページは1回につき1URLです。複数ページのサイトなら、本当に必要なページだけを変換して連結するほうが結果は良くなります。ドキュメントサイトの中身は大半がナビゲーション、変更履歴、重複したサイドバーですし、関係する3ページを渡されたモデルのほうが、400ページを渡されたモデルより的確に答えます。

HTMLを保存せずMarkdownに変換する理由は?

HTMLはその大部分が中身ではないからです。タグ、スクリプト、スタイル、計測タグ、レイアウト用のマークアップがバイト数の大半を占めていて、その1文字ずつがトークンを消費しながら意味を足しません。Markdownは構造を担っている見出し、箇条書き、リンク、コードブロックを残して残りを捨てます。同じ情報量でトークン数が大きく減ります。

まとめ

Crawl4AIは、単なるスクレイピングフレームワークの一つではありません。大規模かつAI前提のデータ収集を現実的な手数で回すための、ツールと戦略とコミュニティの集合体です。データサイエンティストでも、AI開発者でも、BI担当でも、必要になる速度と柔軟性と拡張性は揃っています。

開発中のツールは、この流れをさらに自動化して、データ取得とAI活用の間に残っている手作業を埋めるものです。動的なサイトをクロールして必要な部分を抜き出し、そのままLLMの学習や調整に流し込む——そこを人手を介さずに通せるようにするのが目標です。

Crawl4AIと新しいツールの続報は追ってお知らせします。それまでは、プロジェクトのドキュメントを読んだり、オープンソースのコードを触ってみたりしてください。新機能やリリース、Crawl4AIの使いこなしについての情報は、上のフォームから登録すると届きます。

Crawl4AIを使えば、Web全体がそのままデータソースになります。開かれていて、誰でも触れて、AIの取り組みを一段先へ進めるだけの中身がある場所です。

Repo2Txtの開発と運用は v12heroが行っています。プライバシーを最優先にネイティブアプリとWebアプリを作っている個人開発者です。