このブログは、アフィリエイトプログラムやアドセンスを利用しています。

はてなブログのエクスポートファイルを読み込んで、pngファイルだけダウンロードするPythonスクリプト

仮想環境作りたい方は以下でOK

python -m venv ~/.local/share/virtualenvs/venv1

source ~/.local/share/virtualenvs/venv1/bin/activate

pythonスクリプト

dl.pyという名前にしておきます。

# dl.py
import os
import re
import requests

def download_png(text_file):
  """
  テキストファイルからPNG画像のみをダウンロードする関数

  Args:
    text_file: テキストファイルのパス。★下記に書き換え場所あり

  Returns:
    ダウンロードされたPNG画像のファイル名リスト
  """

  # ダウンロードフォルダを作成
  if not os.path.exists("downloads"):
    os.makedirs("downloads")

  # テキストファイルを開く
  with open(text_file, "r") as f:
    text = f.read()

  # PNG画像のURLを抽出
  urls = re.findall(r"(https?:\/\/[^\s]+.png)", text)

  # PNG画像をダウンロード
  filenames = []
  for url in urls:
    filename = os.path.basename(url)
    with open(os.path.join("downloads", filename), "wb") as f:
      f.write(requests.get(url).content)
    filenames.append(filename)

  return filenames

if __name__ == "__main__":
  # テキストファイルのパスを指定 ★この下の行のlifehack.tatsukichi.ninja.export.txtを取り込みたいファイルに書き換える
  text_file = "lifehack.tatsukichi.ninja.export.txt"

  # PNG画像をダウンロード
  filenames = download_png(text_file)

  # ダウンロードされたファイル名を表示
  print("ダウンロードされたファイル:")
  for filename in filenames:
    print(filename)

実行

python3 dl.py

これでpngファイルだけダウンロードできました。