やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

ブラウザで開いたタブのURLをMarkdownなど任意形式で取得するChromium拡張(Copy All URLs)

 タブが増えてウザいので。

拡張機能

手順

  1. インストール
  2. 設定
  3. 使ってみる

1. インストール

  1. Chromiumを起動する
  2. Copy All URLs | Chrome ウェブストアを参照する
  3. Chromeに追加ボタンをクリックする

2. 設定

  1. 拡張機能アイコンからCopy All URLsをクリックする
  2. Optionsボタンをクリックする
    f:id:ytyaru:20190404082530p:plain

 または以下。

  1. Chromiumのメニュー→その他のツール拡張機能をクリックする
  2. Copy All URLs詳細をクリックする
    f:id:ytyaru:20190404082235p:plain
  3. 拡張機能のオプションをクリックする
  4. FormatCustomラジオボタンをクリックする
  5. Custom formatのテキストエリアに任意書式を入力する
    f:id:ytyaru:20190404082244p:plain
規格 書式例
Markdown * [$title]($url)
HTML <a href="$url">$title</a>

3. 使ってみる

  1. 拡張機能アイコンからCopy All URLsをクリックする
  2. Copyボタンをクリックする f:id:ytyaru:20190404082447p:plain

要望

  1. 自動でタブを閉じる
  2. 出力先
  3. データ
    1. カウンタ取得
    2. 現在日時
    3. メタデータ取得
    4. 任意XPathと参照
    5. 任意CSSセレクタと参照

1. 自動でタブを閉じる

 URLを取得したタブを自動で閉じる。

2. 出力先

3. データ

3-1. カウンタ

変数 概要
$count0 0から始まるインデックス(タブ順)
$count1 1から始まるインデックス(タブ順)
($count1) $url

3-2. 現在日時

$datetime
insert into (Url,Title,Created) values ('$url','$title','$date $time')
insert into (Url,Title,Created) values ('$url','$title','$datetime')
insert into (Url,Title,Created) values ('$url','$title','$datetimeUtc')
insert into (Url,Title,Created) values ('$url','$title','${dateUtc}T${timeUtc}${timezone}')

 yyyy-MM-ddTHH:mm:ss[+-]0000形式。Copyボタンを押下した時刻。

3-3. メタデータ

 できればファビコンや<date>メタデータの取得もして欲しかった。

![$title]($favicon "$title")
<img src="$favicon" alt="$title" title="$title">
[![$title]($favicon "$title")]($url)
<a href="$url"><img src="$favicon" alt="$title" title="$title"></img></a>
Athor|Site
-----|----
$athor|[$title]($url)

3-4. 任意XPathと参照

 取得用XPathと$名前を任意に指定できると嬉しい。URLの正規表現パターンによって実行XPathを変更できればファイル形式に応じたスクレイピングもできそう。

scrape-define.tsv

$author   /html/head/meta[@name="author"]/@content

example.html

<html>
<head>
<meta name="author" content="著者名">
</head>
</html>

3-5. 任意CSSセレクタと参照

 CSSセレクタでも書けると尚良。

scrape-define.tsv

$author  html > head > meta[name="author"] > [content]

対象環境

  • Raspbierry pi 3 Model B+
  • Raspbian stretch 9.0 2018-11-13
  • Chromium 72.0.3626.121 Built on Raspbian , running on Raspbian 9.8
  • Copy All URLs 2.1.0
$ uname -a
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux