[英]Download pictures from google images using python
我有一個非常大的 json 文件,其中包含許多汽車品牌和型號(超過 1000 輛汽車),json 文件如下所示:
{
"0":"honda_civic"
"1":"nissan_leaf"
...
"id":"brand_model"
}
如果我可以從谷歌保存照片並將它們放入相應的文件夾中(第一個元素的路徑是本田/思域),我會徘徊。
我的問題是,是否有任何 function 可以從 google 獲取第一張結果照片並將其保存在本地?(如果它還可以對標有重復使用權限的照片進行排序,那就太好了)。
這段代碼對我有用:
import json
myjson=json.load(open('id.json','rb'))
print("starting")
from selenium import webdriver
import time
import urllib.request
import os
from selenium.webdriver.common.keys import Keys
i=0
def searchnsave(id,key_word):
browser = webdriver.Chrome("C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe") #incase you are chrome
browser.get("https://www.google.com/search?q="+key_word+"&tbm=isch&ved=2ahUKEwi2hvndl-jqAhWSkqQKHffTA5sQ2-cCegQIABAA&oq="+key_word+"&gs_lcp=CgNpbWcQAzIECAAQEzIECAAQEzIECAAQEzIECAAQEzIECAAQE1D2FVj2FWDHG2gAcAB4AIABUogBUpIBATGYAQCgAQGqAQtnd3Mtd2l6LWltZ8ABAQ&sclient=img&ei=LAgcX7bAM5KlkgX3p4_YCQ&bih=722&biw=1519&tbs=sur%3Afc&hl=ro")
#search = browser.find_element_by_name('q')
#search.send_keys(key_words,Keys.ENTER)
#elem = browser.find_element_by_link_text('Images')
#elem.get_attribute('href')
#elem.click()
value = 0
#for i in range(20):
# browser.execute_script("scrollBy("+ str(value) +",+1000);")
# value += 1000
# time.sleep(3)
elem1 = browser.find_element_by_id('islmp')
sub = elem1.find_elements_by_tag_name("img")
count = 0
for i in sub:
src = i.get_attribute('src')
try:
if src != None:
src = str(src)
print(src)
count+=1
urllib.request.urlretrieve(src, os.path.join('downloads',key_word+'.jpg'))
else:
raise TypeError
except TypeError:
print('fail')
break
browser.close()
for k,v in myjson.items():
print(k,v)
searchnsave(k,v)
但不要忘記首先使用以下命令安裝 selenium:
pip3 install selenium
並從這里安裝正確的 chromedriver.exe: http://chromedriver.storage.googleapis.com/index.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.