Tengo un archivo json bastante grande con muchas marcas y modelos de automóviles (más de 1000 autos) y el archivo json se ve así:
{
"0":"honda_civic"
"1":"nissan_leaf"
...
"id":"brand_model"
}
y me pregunto si puedo guardar fotos de google y ponerlas en carpetas correspondientes (la ruta del primer elemento es honda / civic).
Mi pregunta aquí es ¿hay alguna función que pueda obtener la primera foto de resultado de Google y guardarla localmente? (Sería genial si también pudiera ordenar las fotos que están etiquetadas con permiso para reutilizar).
Este código hizo el truco para mí:
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)
Pero no olvide instalar primero selenium con el siguiente comando:
pip3 install selenium
y también instale el chromedriver.exe correcto desde aquí: http://chromedriver.storage.googleapis.com/index.html
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras