なまけもの

備忘録

MANGA CROSSから画像をダウンロードする

概要

Pythonスクリプトを使って、MANGA CROSSから画像をダウンロードする方法を備忘録として書いておく。 URL部分を修正すれば他のサイトからもダウンロードできるかもしれない。

目次

準備

  • Python 3.xをインストールする。
  • pipでrequestsをインストールする。

手順

  1. 次のコードをコピペし、.pyファイルを作成する。
  2. ダウンロード先は任意に書き換えること。
import json
import os
import requests

# 保存先のRootディレクトリ
## root_dir\作品名\話数 に保存する
root_dir = 'D:\\'

def download(url: str):
    req = requests.get(f'{url}/viewer.json')
    if req.status_code != 200:
        print(f"{req} にアクセスできません。\r")
        return

    json_text = req.text
    j = json.loads(json_text)

    title = j['comic']['title']
    volume = j['volume']
    dir = f'{root_dir}{title}\\{volume}'
    os.makedirs(dir, exist_ok=True)

    pages = j['episode_pages']
    count = 0
    for page in pages:
        page = page['image']['pc_url']
        data = requests.get(page).content

        file_name = f'{dir}\\{str(count).zfill(2)}.jpg'
        with open(file_name, "wb") as local_file:
            local_file.write(data)
        count += 1
        print(f'\r{title} {volume} : {str(count)}/{str(len(pages))}', end="")
    print("\r")

if __name__ == "__main__":
    print("マンガクロスのページのURLを追加してください。(空でDL開始)\n")
    urls = []
    while True:
        url = input("URL : ")
        if not url:
            break
        urls.append(url)
    for url in urls:
        download(url)
  1. 作成した.pyファイルをダブルクリックする。
  2. コンソールが表示され、 マンガクロスのページのURLを追加してください(空で終了) : と表示されるので、ビューアが表示されるページのURL(例 : https://mangacross.jp/comics/yabai/1)をコピペしEnterキーを押す。