Google画像検索は、ウェブ上の画像を検索するための強力なツールです。Pythonを使ってGoogle画像検索から画像をクローリングする方法を紹介します。
必要なパッケージ
まずは必要なパッケージをインストールしましょう。
pip install beautifulsoup4
pip install selenium
pip install requests
クローラーの作成
次に、クローラーを作成します。以下に一例を示します。
from urllib.request import urlretrieve
def crawl_images(query, path):
BASE_URL = 'https://ajax.googleapis.com/ajax/services/search/images?' + 'v=1.0&q=' + query + '&start=%d'
BASE_PATH = os.path.join(path, query)
if not os.path.exists(BASE_PATH):
os.makedirs(BASE_PATH)
counter = 1
urls = []
start = 0
while start < 60:
r = requests.get(BASE_URL % start)
for image_info in json.loads(r.text)['responseData']['results']:
url = image_info['unescapedUrl']
urls.append(url)
image = urllib.URLopener()
try:
image.retrieve(url, "image_" + str(counter) + ".jpg")
counter += 1
except IOError:
print('could not save %s' % url)
continue
start += 4
time.sleep(1.5)
このコードは、指定したキーワードでGoogle画像検索を行い、検索結果の画像をダウンロードします。
注意点
Google画像検索APIは、ユーザーが生成した検索のみに使用する必要があります。自動化されたまたはバッチ化されたクエリは厳しく禁止されています。
以上がPythonを使ったGoogle画像クローリングの基本的な手順です。この情報が皆さんのプロジェクトに役立つことを願っています。