Clean Web Clipper Chrome に追加(無料)

こんな人に

崩れずに Markdown へ届く表

汎用の HTML から Markdown への変換ツールは、肝心な表で壊れます。セルの中にリスト、リンク、コード例がある表です。Clean Web Clipper は表を自分で書き出し、行を捨てる代わりにセルの中身を平らにします。

数字が消える場所

ページを保存した理由は表です。料金プラン、レート制限、保存期間、スキーマ。クリップをノートに貼ると、1 行が 1 ページに広がり、区切りの縦線は間違った位置にあり、ある列は黙って隣の列と混ざっています。数字は背後のブラウザの画面にまだ出ているので、失敗は見落としやすく、タブを閉じたときに初めて気づきます。

逆の失敗も同じだけ午後を奪います。いまだに多くのサイトが配置のためだけに table を使っており、そのすべてをデータとして扱う変換ツールは、データセットの顔をしたナビゲーション 20 行を渡してきます。一方は数字の打ち直しに、もう一方はグリッドの削除に時間を使い、どちらも座ったときにやるつもりだった分析ではありません。

打ち直しには、ずっとあとで表れる 3 つ目のコストがあります。手でシートに入力した数字には、出典も日付も確認の手段もありません。6 週間後、セル D14 の保存期間が 1 月にページから読んだものか 3 月に読んだものか誰も言えず、ページはその間に 2 回編集されています。料金、レート制限、割り当ては告知なしに変わります。出典の URL とページが示した日付を上に持つ取得した表なら、その問いに答えられ、次の四半期に同じページを取得して 2 つの差分を取れば、また答えられます。

崩れずに届くもの

すべてのセルにコードがある表も崩れないsqlite.org/datatype3.html
| Storage class | Meaning                                                |
| ------------- | ------------------------------------------------------ |
| `NULL`        | The value is a NULL value.                              |
| `INTEGER`     | A signed integer, stored in 1, 2, 3, 4, 6 or 8 bytes.   |
| `REAL`        | A floating point value, stored as an 8-byte IEEE number.|
| `TEXT`        | A text string, stored using UTF-8, UTF-16BE or UTF-16LE.|
| `BLOB`        | A blob of data, stored exactly as it was input.         |

表のための設定

設定 2 つと習慣 1 つです。その習慣、つまりクリップの前にスクロールすることが、どの設定よりも多くの行を取り戻します。

  1. 拡張機能のアイコンから オプション を開き、保存先を作業データのあるフォルダに向けます。それを使うノートブックやシートの隣の data/sources です。
  2. アイコンをクリックしたときは ウィンドウを開く のままにします。表は保存する前に見る価値のある唯一のものです。列が揃っているかは一目で分かり、フォルダの一覧では分かりません。
  3. ファイル名のテンプレートを {date}-{domain}-{title} にします。1 月と 4 月に取得した同じ料金ページが、隣り合って並ぶ 2 つのファイルになります。
  4. frontmatter で sourcedate をオンにします。取得元のアドレスがない表は、いずれ誰かが導き直さなければならない数字の組です。
  5. クリップする前に、表の一番下までスクロールします。スクロールで読み込まれる行は読み込まれるまで DOM に存在せず、拡張機能はクリップした瞬間の DOM を読みます。
  6. 周りの記事が関係ないときは、ページで表を選択し、選択範囲をクリップします。ウィンドウ上部の切り替えで、ページ全体ではなく選択範囲を見ていることを確認できます。
  7. 数字が動くページ(割り当て、料金、保存期間)について、カレンダーに定期的な取得の予定を入れます。コーパスの価値は 1 回目ではなく 2 回目の取得にあります。

使い回す数字のための設定

下のどの値にも共通する目的は、半年後に読む表が、どこから来ていつのものかを今でも語れることです。

設定ここでこの値にする理由
アイコンをクリックしたときウィンドウを開くずれた列は見れば明らかで、ファイルの一覧では見えない
保存先フォルダ `data/sources`取得したものを、それを使うノートブックやシートの隣に置ける
ファイル名のテンプレート`{date}-{domain}-{title}`1 つのページの四半期ごとの取得がまとまって並び、重ならない
frontmatter`source` と `date` をオン数字の組を、引用できる事実に戻す 2 行
画像含めないグラフはどのみち画像のリンクとして届く。拡張機能は画像から数字を読まない
選択範囲表を選択し、選択範囲をクリップ4 行の表の周りの 12 画面分の記事は、データフォルダではノイズ
繰り返しの取得四半期ごとに同じページをクリップ番号が付くので両方が残り、差分こそが分析になる
不揃いな 2 列の表は、キーと値の行になる定義のグリッドがある仕様書のページ
**Content-Type**
: The media type of the resource. Required on every request with a body.

**Cache-Control**
: Directives for caching mechanisms in both requests and responses.

**Retry-After**
: Either a delay in seconds or an HTTP-date after which to retry.

元のグリッドには結合された見出しセルがあり、最後の行には入れ子のリストがありました。
Markdown の表として再現すれば崩れていましたが、ペアにすれば崩れません。

3 つの表、3 つの結果

料金表を比較シートへ

4 社の、4 つの料金ページ、4 回の取得。どの表も GFM の表として、プラン名、金額、制限がもとのセルに入ったまま、上に出典の URL を持って届くので、比較シートは数字を 1 つも打ち直さずに組み立てられます。

シリアライザーが真価を発揮するのはここです。汎用の変換ツールを壊すのは、脚注の記号、含まれる機能のリスト、コード例が中にあるセルです。15 個の表からなる技術系コーパスでは、比較した各エンジンの 7 個に対して、ここでは 12 個の表が残りました。

四半期をあけた同じページ

あるプロバイダーのレート制限を 2 月と 5 月に取得しました。2 つ目のファイルには番号が付きました。差分を見ると、スタータープランのバースト許容量が半分になり、最上位プランの保存期間が延びています。どちらもどこにも告知されていませんでした。

2 月のファイルがなければ、変更は証明できません。ページは現在の状態しか見せず、以前の数字は提供元が公開するどこにも存在しないからです。この方法は、重要だと分かる前に取っておけるほど、1 回目の取得が安くなければ成り立ちません。

表にはなりえなかったグリッド

仕様書のページが、結合された見出しセルと、ある行に入れ子のリストを持つ 2 列のグリッドで 20 個のヘッダーを定義しています。Markdown の表として再現すれば崩れていましたが、代わりに太字のキーの行とその下の値として届き、読むにも検索するにも損失がありません。

この動作は失敗したときの代替手段ではなく、意図したものです。不揃いな 2 列の表は、データであるより、グリッドをまとった定義リストであることがはるかに多く、壊れた縦線の表はリストを読むより直すほうが大変です。

表を移すよくある方法との比較

どれもページから数字を取り出せます。違うのは、数字と一緒に何が届き、そのあと何をしなければならないかです。

今のやり方得られるものコスト
シートに打ち直す必要なセルそのもの転記ミスがあり、出典や日付の記録もない
スプレッドシートにコピー&ペーストときにはグリッドがそのままリストやコードのあるセルで失敗し、レイアウト用のグリッドがデータとして届く
表のスクリーンショット表示されたとおりの表計算できず、検索できず、出典の行もない
サイト自身の CSV エクスポートあればきれいなデータほとんどのページにはなく、表示と中身が違うこともある
汎用の HTML から Markdown への変換ツールすばやく Markdownリストやコードブロックのあるセルが、汎用の変換ツールの壊れる場所
Clean Web Clipper出典と日付を上に持つ GFM の表結合セルなし、CSV エクスポートなし、グラフの画像からの数字の読み取りなし

表がうまく出てこないとき

結合セルが消えた

Markdown には結合セルがないので、colspanrowspan は平らにします。中身は残りますが、見た目の結合は形式が表せないので残りません。3 列にまたがっていた結合見出しは、そのうち最初の列にテキストが入ります。これは変換ではなく出力先の形式の性質で、どこの Markdown の表もそれを表せません。

行の半分がない

拡張機能はクリップした瞬間の DOM を読むので、スクロールで読み込まれる行(あるいは「もっと見る」ボタンで出てくる行、ページ分けされた行)は、自分でそうさせない限りまだ存在しません。一番下までスクロールし、展開できるものは展開してからクリップしてください。ページ分けされた表は各ページをクリップします。部分はあとでつなげられ、ブラウザが受け取らなかった行を取り戻す方法はほかにありません。

データではなくナビゲーションのグリッドが届いた

それはレイアウト用の表です。配置のためだけに使われるグリッドで、古いサイトの多くはメニューやヘッダーにまだ使っています。そうした表は変換せずにほどくので、中身はグリッドなしで届きます。ナビゲーションのグリッドが表としてノートに入ったなら、ページがそれをデータの表としてマークアップしていたからです。マークアップが「データ」と言い、拡張機能はそれを信じました。

表がキーと値の行になった

それは不揃いな 2 列の経路です。行の揃わない 2 列の表はたいていグリッドとして描かれた定義リストで、縦線の表として再現すると読めるグリッドではなく壊れたグリッドになります。中身は完全です。太字のキー、その下の値が、もとの順番で並びます。本当の表として必要なら、ペアは機械的に表に戻せます。

形式の限界

Markdown には結合セルがないので、colspanrowspan は平らにします。中身は残りますが、見た目の結合は形式が表せないので残りません。セルの中に入れ子になった表はどの道具にも難しく、これも例外ではありません。グラフの画像から数字を読み取ることはせず、CSV や XLSX も書き出しません。出力は Markdown です。そして 1 回に 1 ページ、開いているページを変換します。

Chrome に追加(無料)すべて無料。アカウントも登録も制限もありません。

よくある質問

配置のためだけの表はどうなりますか?
ほどきます。配置用のグリッドを Markdown の表として再現してもノイズになるだけなので、中身は残し、グリッドは残しません。
結合セルに対応していますか?
Markdown には結合セルがないので、平らにします。中身は残りますが、見た目の結合は形式が表せないので残りません。
表だけをクリップできますか?
はい。ページで表を選択し、選択範囲をクリップします。ウィンドウ上部の切り替えで、選択範囲とページ全体のどちらを見ているかが分かります。
CSV として取り出せますか?
いいえ。出力は Markdown です。GFM の表はたいていのスプレッドシートやノートブックの道具に貼り付けられますが、CSV や XLSX のエクスポートはありません。
スクロールで行が増えていく表はどうですか?
拡張機能はクリップした瞬間の DOM を読むので、ページが実際に描画した行だけが取り込まれます。先にスクロールして残りを読み込んでください。
グラフから数字を読み取りますか?
いいえ。グラフは画像かキャンバスで、拡張機能はどんな画像処理もしません。多くの統計機関のように、ページがグラフの下にもとの数字を表として載せていれば、その表は普通にクリップできます。
数字がいつ有効だったかはファイルに残りますか?
ページが示したものは残ります。公開日は frontmatter に入り、取得した日は {date} でファイル名に入れられます。ページが日付を示していなければ、欄は埋めずに空のままにします。少なくとも、間違った数字ではなく正直な空白です。
埋め込みのダッシュボードの中の表をクリップできますか?
いいえ。埋め込みビューアーやダッシュボードのウィジェットの中に表示される内容は、ページの中に置かれた別の文書に属し、周りのページをクリップしてもその中には届きません。その道具に独自のエクスポートや全画面表示があれば、そちらを使ってください。
列の書式は保たれますか?
列の順序、見出しの行、セルの中身は保たれます。色、網掛け、セルの幅、文字の太さは、Markdown の表に持たせる手段がないので保たれません。元が太字だったセルは太字のままですが、色が付いていただけのセルは色を保ちません。
表が別の表の中に入れ子になっていたら?
それはどの道具にとっても難しいケースで、これも例外ではありません。内側の表の中身は、それを持っていたセルに平らに入ります。残りはしますが、グリッドではなくテキストとしてで、入れ子のひどいレイアウトは頼る前に目で確認する価値があります。