Clean Web Clipper Chrome に追加(無料)

しくみの詳細

しくみと、できないこと

魔法は何もありません。抽出の処理がサーバーを呼ぶことはなく、拡張機能が通信するアドレスは統計用のエンドポイントだけです。処理全体は、見ているページの中で数十ミリ秒で終わります。

記事を見つける

まず拡張機能は、記事がふつう入っている分かりやすいコンテナを探します。そうしたコンテナがない場合(実際のサイトではよくあります)、テキストの密度を測る方法に切り替えます。リンクの内側にない段落のテキストを最も多く含むブロックはどれか。そのテキストのほぼすべてを含む最も狭いブロックが選ばれます。

テキストの大半がリンクのラベルでできているブロックは、記事ではなくメニューかフィードなので除外されます。ただし実際のテキストが約 1200 文字を超える場合は除外しません。長い記事にはリンクが多く含まれるのが普通だからです。

付属物を取り除く

次に、本文ではないと分かっている要素を取り除きます。ナビゲーション、バナー、共有ボタンの列、Cookie の通知、ページ送り、「次に読む」のフィード、ロゴの帯。繰り返される行も削除します。各セクションで重複するナビゲーションこそ、クリップしたページのノイズの最大の原因だからです。

ほかのクリッパーが残すもの

[本文へスキップ](#main) [ログイン](/login) [会員登録](/register)
[ホーム](/) [ニュース](/news) [スポーツ](/sport) [カルチャー](/culture) [その他](/more)

当サイトでは、利便性向上のため Cookie および類似の技術を使用しています。
[すべて同意] [設定を管理]

# あなたが読みに来た記事

本文の実際の最初の段落。

<div class="promo-inline">

## 次に読む
[別の見出し](/a) [もう一つの見出し](/b) [さらに三つ目](/c)

ノートに入るもの

# あなたが読みに来た記事

本文の実際の最初の段落。
同じニュースページ:一般的なクリッパーが残すものと、Clean Web Clipper が保存するもの

変換する

表は汎用のプラグインではなく拡張機能自身が書き出します。汎用の変換ツールは、リストやコードブロックを含むセルで壊れるからです。コードブロックの言語は、ページ自身のマークアップから取ります。参照リンクは、サニタイザーがそれらの依存する id を削除する前に Markdown の脚注として集めます。この順序が大事で、間違えるとすべての脚注が黙って失われます。

できないこと

ストアのトップ、フィード、検索結果には記事がありません。拡張機能は完成した Markdown を調べ、その 4 分の 1 を超える部分がリンクのラベルの中にあれば、リンク 300 件を渡す代わりに「記事なし」と報告します。この拒否は意図的なもので、常に何かを返すツールより文字数が少なく出るのはそのためです。

しないこと

よくある質問

クリップにはどのくらい時間がかかりますか?
普通の記事なら数十ミリ秒です。脚注が数百ある非常に長いページでは数百ミリ秒かかります。所要時間はクリップウィンドウの隅に表示されます。
シングルページアプリケーションでも使えますか?
はい。表示が終わったあとの DOM を読むので、JavaScript で作られたドキュメントサイトも見たとおりに取り込めます。
jsonld-articlebody という抽出モードは何ですか?
記事のテキストを構造化データに含めていながら、表示を最後まで終えないページがあります。構造化データのほうが DOM よりかなり多くのテキストを持っている場合、拡張機能はそちらを使い、そうしたことを記録します。