2

我想获得一个庞大的图像数据集以用于计算机视觉。

所以我需要从互联网上下载给定查询的图像(在示例“面孔”中)。

我一直在尝试使用 google images 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=&amp|imgurl=(.*?\.(?:jpg|gif|png|jpeg|bmp))(?ims)', division)[0])
    except IndexError:
        pass
results = [i for i in  results if i != ""]

知道如何获得大约 500 张或更多图像吗?

4

0 回答 0