Python3で画像スクレイピング

指定したサイトで画像を一括ダウンロードできる.
備忘録とかそんな感じ — python3.xでweb上の画像を一括ダウンロード

# encoding : utf-8
# for python3
import urllib.request
import os.path
import pyquery as pq
import requests

def download(url, folderName):
    #フォルダが存在していなかった場合は作成する
	if not os.path.exists(folderName):
		print (folderName + "フォルダを作成しました")
		os.mkdir(folderName)
    
	save_path = './'+folderName+'/'
	src= urllib.request.urlopen(url).read() # decodeしない
	query = pq.PyQuery(src)
	
	for img_tag in query('img'):
		img_url = query(img_tag).attr('src')
		print (os.path.basename(img_url)) # 確認用でターミナルに保存ファイル名を出力
		with open (save_path + os.path.basename(img_url), 'wb') as f:
			raw = requests.get(img_url).content
			f.write(raw)#ファイルに画像を書き込む
			
if __name__ == '__main__':
	print ("写真を取得したいサイトのURLを入力")
	input_url = input('>>>  ')
	target_url = input_url
	
	print ("保存先フォルダ名を入力(※存在しない場合は新規作成)")
	input_folderName = input('>>>  ')
	target_folderName = input_folderName
	
	download(target_url, target_folderName)

このブログのURLを指定した場合こんな感じになった.
f:id:umashika5555:20170322025945p:plain
Googleの画像検索のURLだとうまくいかない.