読者です 読者をやめる 読者になる 読者になる

紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

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だとうまくいかない.