MENU

【Python】Livedoorブログのバックアップデータ(backup.txt)をWordPress用に置き換えるプログラム

Livedoorブログの記事データをWordPressへと移行する際に、いくつか記事データの内容を書き換える必要があります。

記事データの変更点

①画像のURL
旧: https://livedoor.blogimg.jp/ライブドアID/imgs/●/●/
新: https://独自ドメイン/wp-content/uploads/images/

②タグ(タグ未使用の場合は設定不要)
旧:TAG
新:TAGS

③内部リンク
旧:http://blog.livedoor.jp/ライブドアID/archives/
新:https://独自ドメイン/archives/

テキストエディタで変換してもいいのですが、ミスや手間を減らすために、Pythonでプログラムを書いてみました。

※Pythonがインストールされている前提でのプログラムになります。

目次

文字列置き換えプログラム

このコードを「replace.py」というファイル名で保存します。

import re
import os

current_url = "https://livedoor.blogimg.jp/zeroforest" # 現在のHPのURL
new_url = "http://sample.local" # 新しいHPのURL
img_dir_path = "/wp-content/uploads/images/" #WordPressの画像アップロードファイル
img_pattern = current_url+r'/*imgs/[\w/:%#\$&\?\(\)~\.=\+\-]+'

original_file_path = "./backup.txt" # ファイル名
new_file_path ="./backup_updated.txt" #更新後のファイル

new_lines = ''

with open(original_file_path, "r") as f:

    for line in f:
      # TAGをTAGSに変換
      line = re.sub("TAG: ","TAGS: ",line)

      # 画像URLをWordPressの画像アップロード先に変更
      img_url_list = re.findall(img_pattern, line)
      for image_url in img_url_list:
        line = re.sub(image_url,new_url+img_dir_path+os.path.basename(image_url),line)

      # 旧URLを親URLに変更
      line = re.sub(current_url,new_url,line)

      new_lines += line

with open(new_file_path, mode='w', encoding='utf-8') as f:
  f.writelines(new_lines)

プログラムの実行

ライブドアブログbackup.txtとプログラムをreplace.pyを同じフォルダにおきます。

フォルダ
├─ replace.py
└─ backup.txt

script.pyがあるフォルダでターミナルを開いて、下記コマンドを入力してプログラムを実行します。
実行後、backup.txtの内容が書き換わります。

python replace.py

ブログ移行時によかったらご活用ください。

  • URLをコピーしました!

この記事を書いた人

元エンジニア・コンサルタント→フリーランスへ。
個人事業主さん向けにWordPress・HP作成の個人レッスンをしています。

目次