Webサイト上の画像を一括にダウンロード
Webスクレイピングのライブラリのpyqueryで画像ダウンローダを作ってみました。
from pyquery import PyQuery as pq import urllib.request, os, sys if len(sys.argv) != 3: print("Usage: python3 main.py savepath URL") sys.exit() x = sys.argv[2].split("/") server = x[0] + "//" + x[2] num = 0 d = pq(sys.argv[2]) images = d("img").items() for image in images: if image.attr("src") != None: if "http" in image.attr("src"): urllib.request.urlretrieve(image.attr("src"), sys.argv[1] + "/" + str(num) + ".png") num += 1 else: search_path = server + image.attr("src") urllib.request.urlretrieve(search_path, sys.argv[1] + "/" + str(num) + ".png") num += 1
実際に動かしてみると
$ mkdir ~/test $ python3 main.py ~/test https://jp.fotolia.com/Info/Images/FreePicsOfTheWeek
こんな感じにできます