旅好きエンジニアのメモ

旅のこと映画、統計、会計、プログラミングなど、気の向くままに語ります

Python3でwebスクレイピング 画像を自動取得する

機械学習にあたって画像がいっぱい欲しい

機械学習の画像認識をするときにどうやってデータを集めるかって結構大事だと思うのです。

いちいち手動で画像を取得していたのでは時間がかかりすぎてしまう。

 

そこで、自動的に取得したい。

そこで参考にしたのは下記のサイトです。

[Python] 画像を自動ダウンロードするコード | urllib2 « FiFiFactory

 

ただ、上記はpython2なのでpython3のものは少しソースを変更しなければなりません。

 

変更したものか下記です。

 

#---------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import sys
from urllib import request
import os.path

# url先の画像を保存する関数
def download(url):
img = request.urlopen(url)
localfile = open(os.path.basename(url), 'wb')
localfile.write(img.read())
img.close()
localfile.close()


# shutterstockの画像検索結果を保存
# アクセス先
par_url = 'WEBサイトのURL'

# urlアクセス
res = request.urlopen(par_url)
# beautifulsoupでパース
soup = BeautifulSoup(res.read())

# ページに存在するimgタグを検索
for link in soup.find_all('img'):
# 画像URLを取得
img_url = link.get('src')
print (img_url)

# ローカルに画像をダウンロード
download(img_url)
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import sys
from urllib import request
import os.path

# url先の画像を保存する関数
def download(url):
img = request.urlopen(url)
localfile = open(os.path.basename(url), 'wb')
localfile.write(img.read())
img.close()
localfile.close()


# shutterstockの画像検索結果を保存
# アクセス先
par_url = 'webサイトのURL'

# urlアクセス
res = request.urlopen(par_url)
# beautifulsoupでパース
soup = BeautifulSoup(res.read())

# ページに存在するimgタグを検索
for link in soup.find_all('img'):
# 画像URLを取得
img_url = link.get('src')
print (img_url)

# ローカルに画像をダウンロード
download(img_url)

#---------------------------------------------------------------------------------------