2018年3月30日金曜日

mixiの日記のバックアップ( mixi_export , sikuli )

mixiの日記をバックアップしました。

いろいろとツールを探したのですが、残念ながら一発で簡単なのは見つかりませんでした……なんとか「検索性の高いテキスト」と「読みやすい表示のpdf」をバックアップ出来ましたので報告します。

【方法】
1.mixiの標準機能を使う
mixi日記には『日記を製本する』という機能がありまして、これはMyBooks.jpのサービスを利用するものです。製本自体は有料ですが、製本前のレイアウトのためのpdfは無料で作成できます。ただしpdfにはすかしが入ります。(私は最初、これを利用しようと思ったのですが、有料サービス内の無料分だけを利用するのはなんか申し訳ないのでやめました。)

 標準機能:mixi日記を製本する
 提供会社:http://www.mybooks.jp/
 すかし付きpdfがレイアウト確認用に作成されます、製本は有料です。
   残念ながら、2020/06/30 でサービス終了するそうです。

2.テキスト情報だけでも保存する
いろいろと探してみて、mixi exportを使う事にしました。これはコマンドラインベースのツールで、windows用のexeだけでなくlinuxやmacで使えるperlスクリプトも用意されています。基本的には、mixi日記をはてなダイアリーやadiaryに移行するためのエクスポートツールでありまして、これをバックアップ目的に流用する事になります。なかなかすぐれもののツールで、mixiの日記レイアウトそのものなhtmlファイルがログに作成され便利です。(ただし、画像とかはローカル保存ではなくネットワーク参照になりmixiにアクセスします。)テキスト情報の抽出を目的として使う事にしました。また、次項のsikuliでも使いました。

 ソフト名:mixi_export
 公開場所:https://adiary.org/tools.html
 現時点の最新版:2017/11/21

3.mixi日記のままpdfで保存する(手動、自動)
方法は簡単です、ブラウザで表示してpdf印刷すればいいだけです。しかし、日記の数が多い場合、とても手間がかかります。手動印刷に一件あたり36秒かかったとして、日記が100件あった場合は、一時間かかりますし、退屈な作業でミスもあるかもです。そこで作業自動化のためにsikuliを使いました。

 ソフト名:sikuli
 公開場所:http://www.sikuli.org/
 公開先が変更されていました。2020/05/17時点では下記の場所になります。
   公開先:SikuliX Downloads ( https://raiman.github.io/SikuliX1/downloads.html )
   javaが必要です。

【結果】
200件ほどの日記のバックアップ
・mixi_export
 11分でテキスト情報の保存が出来ました。
・sikuli
 59分でpdf印刷出来ました。

sikuliを使った自動印刷の動画を公開しますね。



7 件のコメント:

  1. はじめまして。mixi exportでhtmlファイル化までは頑張ったのですがPDF化で写真が移せず停滞しております。いずれHPを作って(自身のデータベース目的)そちらに検索できるような形で移したいのですが、一時的な保管として写真ごとPDFデータとして取り置きたいのですが知恵をお貸しくださいませんでしょうか。

    返信削除
  2. Unknownさんコメントありがとうございます。

    >PDF化で写真が移せず停滞しております。
    mixi exportで作成したhtmlファイルをブラウザで表示しても画像が表示されないのでしょうか?ブラウザには表示されるけどPDFに印刷すると画像部分が無い状態の印刷になるのでしょうか?それとも、sikuliでの保存のプログラムの作成で問題があるのでしょうか?

    うまくいかない状況を具体的に教えてくだされば、
    私の方で、なにかアドバイス等対応できるかもしれません。

    状況がわからないので、確実な事は言えないのですが、
    Unknownさんがいろいろ工夫されても無理だった場合は、
    手間がかかっても手動で一枚一枚画像を保存していくしかないのかもしれません。

    うーん、『一つ一つ日記をブラウザで表示して、それを印刷する。』というのが今の所の確実な方法なのでしょうね。その際は手動でやるのは面倒なのでsikuli等の自動ツールを使うのがオススメです。

    がんばって下さい!


    >はじめまして。mixi exportでhtmlファイル化までは頑張ったの
    >ですがPDF化で写真が移せず停滞しております。
    >いずれHPを作って(自身のデータベース目的)そちらに検索
    >できるような形で移したいのですが、一時的な保管として
    >写真ごとPDFデータとして取り置きたいのですが知恵を
    >お貸しくださいませんでしょうか。

    返信削除
  3. お返事ありがとうございます。
    エクスポート使用でhtml化はできるのですが
    そのあとDocufreezerでPDF化に挑戦するものの写真は抜けてしまいます。
    写真は直リンクとは聞きますが、うまくいっている方もいるので
    なにが原因かはわかりません。
    文章はPDF化されているのでそれをとりこんで
    再度10000枚ほど写真を現物くびっぴきでさがしつつ貼り付けていくのが早いか
    数1000枚ほどの画像をスクロールしつつ撮っていってそれをPDF化してさらにそれを取り込んで切り貼りするのが早いのか
    非常に嫌な2択になってしまっています。
    sikuliは私にはよく理解できませんでした。スクロールさせてスクリーンショットPDF化なのかな。とてもできそうにないもので

    返信削除
  4. あと、sikuli公開場所に私はリンクできませんでした。探していったのですが
    エッジしか立ち上げてないのでJAVAインストールできなくて断念したというのもあります。

    返信削除
  5. 友人が一枚一枚コピペして文書でwordpressにでも移し、写真も一枚一枚コピペして体裁してはと提案してきました。それが結局無茶苦茶な時間かかっても素人からは早道かもしれないですね。将来の下準備にwordにでも貼り付けてつくりこつこつ作っていこうと思います。

    返信削除
  6. お返事コメントありがとうございます。

    >あと、sikuli公開場所に私はリンクできませんでした。
    リンク先が変わったようです、ブログ本文のリンク先を修正しました。
    教えて下さってありがとうございました。


    sikuliはわかりやすく操作できますので、
    下記web等とか参考にされれば、すぐにでも使えると思います。
    ・sikuliを使ってGUI操作を自動化する
    https://qiita.com/YHayama@github/items/483198cba0e7c4baa78c
    ・【2020年最新版】Sikulixインストール・セットアップ方法!入門者向けに図説
    https://auto-worker.com/blog/?p=61
    ・【Sikuliで学ぶRPA超入門‐第1回】順次処理でRPAの威力を実感しよう
    http://marukentokyo.jp/2019/04/02/programing_hello/


    私がmixi日記バックアップで使ったコードもpdfで公開しておきます。
    mixiバックアップのプログラム
    https://1drv.ms/b/s!AgutCnU3X0ehheEssdpRVHt6F-Isbw?e=XPkPRH

    このコードを見ればわかると思いますが、
    ブラウザで表示してそのままブラウザで印刷するという操作を、
    自動化しているだけで、非常に単純です。

    プログラムのファイルリストですが、
    1.mixi_exportではhtmlファイルが、年月のディレクトリに分けて保存されますので、
    手動で一カ所にまとめて置いています。
    エクスプローラーで*.htmlで検索して、全選択して、c:\mixibakup\file\にコピーしています。

    2.ファイルの置き場所のc:\mixibakup\file\ですが、
    コードでは¥を¥でエスケープするのでc:\\mixibakup\\file\\ と記述します。

    3.ファイル名のリストは、コマンドプロンプトで作成できます。
    ファイルの置いてあるディレクトリでdir /B とすればいいです。
    c:
    cd \mixibakup\file\
    dir /B

    まあ、是非sikuliを使ってみてください!

    返信削除
  7. 追記

    sikuliのプログラムはPythonで記述しています。
    Pythonでは行頭のスペースは重要な意味を持ちます。
    下記web等を参考にして下さいませ。

    https://www.sejuku.net/blog/86942
    Pythonにおけるインデントの意味
    Pythonでインデントはブロックである
    インデントがずれるとエラーになる

    返信削除