コンピュータ ビジョンに使用する画像の膨大なデータセットを取得したいと考えています。
したがって、クエリを指定してインターネット画像からダウンロードする必要があります(例では「顔」)。
Google 画像 API を使用しようとしましたが、約 60 枚の画像しか取得できませんでした。この裏技で100までいける…
import re
import subprocess
import urllib2
#Parameters
query = "face"
AGENT_ID = "Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1"
GOOGLE_URL = "https://www.google.com/search?q="+ query +\
"&source=lnms&tbm=isch&sa=X&ei=T2KSUtD4Hsim4gSwmYGIBw&sqi=2&ved=0CAcQ_AUoAQ&biw=1104&bih=591"
#The main line
html_page = subprocess.check_output(["curl", "-L", "-A", AGENT_ID, GOOGLE_URL], stderr=subprocess.STDOUT)
# Parsing out the images urls
results = []
for division in re.findall(r'<div.*?</div>(?ims)', html_page):
try:
results.append(re.findall(r'imgurl=&|imgurl=(.*?\.(?:jpg|gif|png|jpeg|bmp))(?ims)', division)[0])
except IndexError:
pass
results = [i for i in results if i != ""]
約500枚以上の画像を取得する方法はありますか?