【Python】Livedoorブログの画像を一括ダウンロードするプログラム


LivedoorブログからWordPressに移行するときに問題になるのが、画像のこと。
Livedoorブログには画像をエクスポートする機能がないため、記事に掲載されている画像をスクレイピングツールなどで抽出する必要があります。
Mac用の画像取得ツールが見つからなかったので、Pythonで画像取得プログラムを書いてみました。
ソースコード
ブログの記事データから、画像のURLを取得してフォルダにダウンロードしています。
実際に使う場合には、current_urlのところにライブドアブログのURLを入れてください。
import reimport osimport urllib.requestimport urllib.error
current_url = "https://livedoor.blogimg.jp/zeroforest" # 現在のライブドアブログの画像保存先URLimg_url = current_url+'/*imgs/[\w/:%#\$&\?\(\)~\.=\+\-]+' # 画像のURL
file_name = "backup.txt" # 読み込むファイル名dir_name = "images" # 画像保存先フォルダ名
def download_file(url, dst_path): try: with urllib.request.urlopen(url) as web_file: data = web_file.read() with open(dst_path, mode='wb') as local_file: local_file.write(data) except urllib.error.URLError as e: print(e)
images = [] # 画像URL格納
# backup.txtから、画像URL取得with open(file_name, "r") as file_data: for line in file_data: url_list = re.findall(img_url, line) for url in url_list: images.append(url)
print(str(len(images))+"個の画像を取得します")
# 画像保存先フォルダがなければ作成する。try: os.makedirs(dir_name)except: pass
# 画像のダウンロードfor img in images: download_file(img, os.path.join(dir_name, os.path.basename(img)))使い方
プログラムを「script.py」というファイル名で保存します。
script.pyと同じフォルダ内に、ライブドア管理画面からエクスポートした記事データ「backup.txt」を置きます。
フォルダ├─ script.py└─ backup.txtscript.pyがあるフォルダ上でターミナルを開いてプログラムを実行します。
python script.py実行すると、imagesフォルダが作られて画像が保存されています。
フォルダ├─ script.py├─ backup.txt└─ images ├─ 〇〇-s.jpg<br> ├─ 〇〇.jpg</p>Livedoorブログの画像をスクレイピングするプログラムを紹介しました。
ライブドアブログから別ブログに移行時などにご活用いただければと思います。
忙しいあなたに代わって、ブログのお引越しを丸ごと代行します!
ここまで読んでみて、「手順が多くて難しそう…」「大切なブログデータを消しちゃったらどうしよう…」と不安になっていませんか?
そんな時は、無理せず私にお任せください! ライブドアブログからWordPressへのデータ移行・お引越しを、あなたに代わって安全・確実に丸ごと代行いたします。
ブログのお引越しは、記事・画像データの移行、リンクの置換まで丸ごとサポートいたします。サービスページをご覧ください。
めんどくさい設定やエラーの心配は一切ナシ!まずはお気軽にご相談くださいね。
あなたの大切なブログを、新しいWordPressの形へ綺麗にお届けします♪
お見積もりやスケジュールの確認など、まずはお気軽にお問い合わせくださいね!



