テキストからURL抽出

チャットログ、Markdown、メールスレッド、生HTMLを貼り付けると、含まれるすべてのhttp://https://リンクを整理した一覧で取得できます。末尾の句読点を除去し、MarkdownやHTMLのリンク構文にも対応、完全に同一の重複は削除されるため、クローラーやアーカイバーへそのまま流し込めます。

URLの抽出手順

  1. 1

    ソースを貼り付け

    テキストやHTMLを投入します。引用符、山括弧、Markdownリンク構文、末尾の句読点は自動処理されます。

  2. 2

    スキャンを実行

    `http://`/`https://`リンクをすべて抽出し、末尾の句読点を除去、完全一致の重複を排除します。

  3. 3

    件数を確認

    見つかったユニークなURL件数と完全な一覧を表示します。

  4. 4

    コピーまたはエクスポート

    1行に1URLずつで、`curl -I`、アーカイバー、スクリーンショットサービス、Screaming Frogのシードに使えます。

URLとみなす条件

URLの検出は思っているより難しく、このツールは安全なルールを1つだけ守っています。認識するのは完全なhttp://https://リンクのみで、それ以外はテキスト内に残ります。

認識する形

形式
絶対 HTTPS https://example.com/path?q=1
絶対 HTTP http://example.com
Markdownリンクのリンク先 [text](https://example.com)
HTMLの絶対href href="https://example.com"

末尾の整形ルール

末尾の句読点は除去され、(https://example.com).https://example.comになります。空白、引用符、山括弧、丸括弧、角括弧、カンマ、セミコロンでマッチは終了します。括弧を含むURLは最初の開き括弧で切り取られるため、Wikipediaの記事タイトルのようなURLは開き括弧までしか取得されません。

抽出しないもの

  • mailto:tel:ftp:など、httphttps以外のスキーム。
  • //cdn.example.com/asset.jsのようなプロトコル相対リンク。
  • example.com/docs/introwww.example.com/pageのような、スキームのない素のドメインやwww付きアドレス。
  • #sectionのようなアンカーのみや、JavaScript系の擬似URL。

重複の扱い

完全一致の重複は削除されます。https://example.comは何度現れても1回として数えられますが、Example.comexample.comは別のエントリとして残ります。リストは各URLが最初に現れた順番を保ちます。

後処理のコツ

  • 正規形にするなら小文字化Example.comexample.comを同じホストとして扱いたい場合は、出力を小文字にしてから再度重複を除去してください。
  • 追跡パラメーターを除去。UTMクリーナーでアーカイブ前に除去しないと、ほぼ重複のURLが大量に並びます。
  • ステータス確認。リスト確定前にブロークンリンクチェッカーで404を除外しましょう。

よくある質問

短縮URLが完全なスキーム付きで書かれている場合のみ対応します。bit.ly/xyz単体では取得されませんが、https://bit.ly/xyzなら通常のURLとして取得されます。本ツールはリダイレクトを追わないため、最終宛先が必要なら別途解決してください。

はい。hrefが完全なhttp://https://URLの場合に取得できます。タグを含めずにhref値だけを抽出します。相対パスのhrefは取得されません。

そのまま保持されます。utm_*などの追跡パラメーターを除去したい場合は、抽出後にURLクリーナーを使ってください。

いいえ。テキストはリクエスト中に処理され、コンテンツは永続化もログ記録もされません。

関連ツール

このツールは他の言語でも利用できます