簡體   English   中英

使用python從Google搜索中抓取圖片

[英]Crawl images from google search with python

我試圖用python編寫腳本,以便從Google搜索中抓取圖像。 我想跟蹤圖像的網址,然后將這些圖像存儲到我的計算機中。 我找到了執行此操作的代碼。 但是,它僅跟蹤60個網址。 之后,出現超時消息。 是否可以追蹤超過60張圖像? 我的代碼:

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 # Google's start query string parameter for pagination.
    while start < 60: # Google will only return a max of 56 results.
        r = requests.get(BASE_URL % start)
        for image_info in json.loads(r.text)['responseData']['results']:
            url = image_info['unescapedUrl']
            print url
            urls.append(url)
            image = urllib.URLopener()

            try:
                image.retrieve(url,"model runway/image_"+str(counter)+".jpg")   
                counter +=1
            except IOError, e:
                # Throw away some gifs...blegh.
                print 'could not save %s' % url
                continue

        print start
        start += 4 # 4 images per page.
        time.sleep(1.5)

crawl_images('model runway', '')

看看文檔: https : //developers.google.com/image-search/v1/jsondevguide

您應該獲得64個結果:

注意:“圖像搜索器”最多支持8個結果頁面。 當與后續請求結合使用時,最多可獲得64個結果。 請求的結果不能超過64個。

另一個注意事項:您可以限制文件類型,這樣就無需忽略gif等。


另外請注意,此API僅應用於用戶操作,而不能用於自動搜索!

注意:必須將Google Image Search API用於用戶生成的搜索。 嚴格禁止任何形式的自動或批量查詢。

您可以嘗試使用icrawler軟件包。 極其易於使用。 我從未遇到過要下載的圖像數量的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM