自分のブログ名

sheephumanのブログ

広汎性発達障害と診断されたASD孤立型。

Pythonで連番URLを保存してみる試み(失敗)

Pythonで書いたコードで、某○○誌サイトの連番URLを保存してみるという試み。


最近、それが出来るツールが少なくなってきたんで、自分で作って上手く行ったら公開しようかなと思ってる。別にPythonでなくていいけど。


エロ目的というのは秘密。


 「連番ちゃん」(https://www.vector.co.jp/soft/winnt/net/se503448.html)わざわざ作らなくてもちゃんと使えた。

 Compltete Getter(https://www.vector.co.jp/soft/winnt/net/se381825.html)とかも以前は使ってた。Httpsに対応してないんで使わなくなったけど。

 

古いソフトは段々使わなくなってきてるね。まだ使えるのも無いでもないけど。


参考リンク

www.robotech-note.com

4件ぐらい見たけど、全部同じコードらしいんでコレをGUI化してみる。

面倒になったらC#に切り替える。

↓クルマに怯える小熊。 f:id:sheephuman:20210623124001p:plain


Coding

いつも通り検索して引っ張ってくる感じで。GUIの方が好きだけど、上手く作れなかったらCUIで表現するかもしれない。

# This is a sample Python script.

# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.

import PySimpleGUI as sg
import urllib.request
import sys
import os


def download():
    path = values['SavePath']

    url = values['TargetURL']

    for i in range(1):
        try:


            url_all = url + str(i+1).zfill(3) + ".jpg"
           # urllib.request.urlretrieve(url_all, path + str(i).zfill(3) +
        # ".jpg")

            mem = urllib.request.urlopen(url_all).read()

            with open(path, mode="wb") as f:
                f.write(mem)

        except urllib.error.URLError as e:
            break

    if __name__ == "__main__":
        download()

sg.theme('DarkAmber')   # デザインテーマの設定

# ウィンドウに配置するコンポーネント
layout = [[sg.Text('連番URL保存')],
            [sg.Text(), sg.InputText(key='TargetURL')],
            [sg.Button('OK'), sg.Button('キャンセル')],
           [sg.Text('保存先フォルダ')],[sg.InputText(key='SavePath'),
                                 sg.FolderBrowse()]]

# ウィンドウの生成
window = sg.Window("連番URL保存", layout)

# イベントループ
while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'キャンセル':
        break
    elif event == 'OK':
        download()



window.close()



結果

なんとかカタチにはなったようなんだけど、画像のダウンロードには全く成功してない。

Python Code単体で動かしてみても同じですね。

https://www.xxxxxx/001.jpg https://www.xxxxxx/002.jpg . .

というURLのjpgファイルを一括でダウンロードするためには、 url = "https://www.xxxxxx/" と編集して実行することで、./pic/以下に一括でダウンロードされる。



という話だったので、同じようにしたんですが。

他のコードも試してるけど、ウンともスンとも言わない なぜ。 まあ連番ちゃんで落とせたみたいだし、この辺で諦めておこう。