×

ここのところ、半月ほどは【Blog記事の一斉引越】という大テーマと格闘していました。

なにしろameba blogの投稿は1,000記事越え。


それを手動で1件ずつ移植していくのは狂気の沙汰。それでも、当初はそれをやろうとコピペを開始していました。予想はしていたが、非現実的な手数です。

残念ながら、アメブロ→WordPressの自動移行ツールはおろか、アメブロ記事の一括エクスポート機能すら存在しない(昔はあったらしい)

それでは、何をしていたのか?

実はすべてプログラミング(ほぼPython)に頼って全自動〜半自動化を目指していたのです。
私はプログラミングについてはほぼど素人です。当然ながら苦難の道でした。それが、どうやら本日、記事の完全移行に成功したようです!

記事を総文字数にすると、1,110万文字以上! 画像は3,200枚以上! 大変な情報量です。単純にhtmlを移行しただけでは、画像のリンクが全て切れて表示されなくなります。そこも自動化しなければなりません。

詳しく説明していくと何万文字ものナレッジになってしまいますので、大雑把な手順だけを以下に記しておきます。

  • アメブロの投稿時の画像一覧から全画像を落としてくるクローラーを作る
  • 落としてきた画像は投稿日を基にWPのライブラリ構造である wp_content/uploads/yyyy/mm/ を再現したパスへ収納する、画像ファイル名は元を維持
  • 落としてきた全画像をパスごとwp_content/uploads/へコピー
  • uploads/フォルダを周回して自動メディア登録してくれるプラグインを導入、ライブラリのリビルド
  • アメブロの投稿記事を全走査して全記事のURLリストを生成するクローラーを作る
  • 前記URLリストを基に、全記事のHTMLを一括ダウンロードしてくるクローラーを作る
  • 前記全記事のHTMLから、記事本体だけを一括抽出するスクリプトを作る
  • そのスクリプト内にはWordPress画像パスであるwp_content/uploads/yyyy/mm/へ置き換えする処理が含まれる
  • 前記の記事本体と基HTMLのファイル群から、WordPressインポート用の.wxrを生成するスクリプトを作る
  • 前記.wxrをWord Pressへインポートする
  • すると、記事内容や画像パスが再生され、画像は設置済みなので、細かいレイアウトはともかく記事がほぼ完全再現される

以上、おそらくはほとんど理解不能だとは思いますが分かる人には分かるはず。と、自分用のメモとして掲載します。

AI相手の長い戦いでしたが、今は達成感でいっぱいです。人力では到底不可能な移植を短時間で達成しました。

2件のコメント

  1. おめでとうございます
    amebaが最近始めた記事を開いただけで広告ポップアップとかは、私も他所に移ろうと考える動機になったりしてます
    日記的なものはアメブロ終焉まで残して、自己満足した記事だけ再構築してnoteかなとか

    1. > YAS-NORIさん
      ふおおおおお。
      ご訪問、ありがとうございます。m(_ _)m

      そうですねー、質の高い記事であるほど、今はno+eのほうがいいかなと思います。

      私も他の方の記事を徘徊して拝見するのがかなり好きなのですが、、、
      あれだけ広告が多くかつ長くなると流石に興を削がれますね。

      あと今気づきましたけど、WPはコメントの後編集までできるのですね。これがアメブロで地味に不満だったりします。
      私の不適切コメントを削除できなかったりとか(爆

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

投稿者

KeroYon

関連投稿