Tumblr をバックアップし、投稿一覧を作成する

Tumblr は一時期メインのブログとして使っていた。しかし過去の投稿をブラウジングしたりするのが不便。検索もできない。

それならローカルにダウンロードし、記事一覧を作成することにした。FileMaker に取り込んだりすれば簡単に検索できるし、ホスティングサーバーに再度アップすればアクセスもしやすくなる。

(1)Tumblr のバックアップをするには以下のページにアクセスする。

https://www.tumblr.com/settings/blog/[ブログ名]

あるいは、「右上のアカウントアイコン>Settings>右ペインのブログ名」とクリックしていく。

(2)一番下の「Export>Export [ブログ名]」をクリックすることでエキスポートが始まる。エキスポートが完了するとメールで通知が来るので zip でダウンロードができる。

参考:
ブログをエクスポート – ヘルプセンター
https://tumblr.zendesk.com/hc/ja/articles/360005118894-%E3%83%96%E3%83%AD%E3%82%B0%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88

(3)2の zip ファイルを解凍すると中身は以下のようになっている。

├── media
└── posts.zip

media ファイルに画像ファイルが入っていた。posts.zip の中に閲覧用の html ファイルが入っているので解凍する。すなわち以下のような構造になる。

├── media
│   ├── 100067329218.jpg
│   ├── 98919428873.png
│   ├──(省略)
│   └── 99899310148.jpg
└── posts
	├── html
	│   ├── 81832748437.html
	│   ├── 81928177638.html
	│   ├──(省略)
	│   └── 82131196871.html
	├── posts_index.html
	└── style.css

posts_index.html をブラウザで開くと投稿ページの一覧(posts>html ディレクトリのファイル一覧)が表示される。各投稿ページをクリックすることで投稿内容を見ることができる。

投稿ページの html はランダムな数字のファイル名のように見えるが、ちゃんと投稿順に数値が大きくなっている。すなわちこの数値の順に並べれば時系列が分かるわけだ。

私が記事一覧を作成するにあたって必要なのは、html のファイル名(時系列に並べるため)、各記事のタイトル、投稿のタイムスタンプである。記事のタイトルとタイムスタンプは各 html 内に記述されている。

(4)各 html ファイルの1行目に、そのファイル名を書き込む。

[Mac] テキストファイルのファイル名を1行目に書き込む|with a Christian Wife|note
https://note.com/wacw/n/na3438d56e7c8

その際、シェルスクリプトを改良し、ファイル名の前に filename: と文字列を入れるようにした。すなわち以下のようにする。

修正前:gsed -i -e "1i $line" $line
修正後:gsed -i -e "1i filename: $line" $line

(5)すべての html ファイルを1つのテキストファイルにする。

[Mac] 指定フォルダ内のテキストファイルを連結する – with a Christian Wife
https://wacw.cf/2020/07/12/combile-text-files-in-a-folder-in-mac/

(6)5で出力されたファイルをテキストエディタで開く。

ファイルの中身を観察すると、html のファイル名の行には filename が、各記事のタイトルの行には h1 が、投稿のタイムスタンプの行には timestamp という文字列がそれぞれ含まれていることが分かる。

よって、テキスト置換によって filename、h1、timestamp を含まない行をすべて削除する。

検索文字列:^(?!.*(filename|h1|timestamp)).*\n
置換文字列:(空欄)

(7)さらに、テキスト置換を駆使して、各行が以下のように、ファイル名、記事タイトル、投稿タイムスタンプがタブ区切りで並べられた一覧を作成する。

83966324459.html  [記事タイトル1]  April 27th, 2014 9:31am
84652301683.html  [記事タイトル2]  May 4th, 2014 6:26am
・・・・

あとは Excel なり FileMaker なりに取り込んで一覧を管理すればいい。