Ho controllato le API di Ricerca Google e sembra che non abbiano rilasciato alcuna API per la ricerca di "Immagini". Quindi, mi stavo chiedendo se esiste uno script/libreria python attraverso il quale posso automatizzare la funzione "ricerca per immagine".Script Python per "Ricerca Google per immagine"
risposta
Non è disponibile alcuna API ma si è può analizzare la pagina e imitare il browser, ma non so quanti dati è necessario analizzare perché Google potrebbe limitare o bloccare l'accesso.
Si può imitare il browser semplicemente usando urllib e impostando le intestazioni corrette, ma se si pensa parsing pagine web complesse può essere difficile in pitone, è possibile utilizzare direttamente un browser senza testa come phontomjs, all'interno di un browser è banale per ottenere elementi corretti usando il Javascript/DOM
Nota prima di provare tutto questo controllo di Google TOS
Per "ricerca google per immagine", l'immagine deve essere trascinata sullo schermo. Non sono sicuro, come posso automatizzare che usando python –
quando si trascina l'immagine rilasciata, il browser invia i dati del file immagine a google, che si può fare anche da python, ma potrebbe essere diffcult per automatizzare tutte le parti, ecco perché è meglio la scommessa è di andare su phantomjs route –
si può provare questo: https://developers.google.com/image-search/v1/jsondevguide#json_snippets_python E 'deprecato, ma sembra funzionare.
Purtroppo questo non fornisce la funzionalità "cerca per immagine", supporta solo l'utilizzo di termini di ricerca nel testo. I documenti completi sull'API JSON sono disponibili su https://developers.google.com/image-search/v1/devguide – Shnatsel
Questo è stato abbastanza fastidioso da capire che ho pensato di pubblicare un commento sul primo risultato di stackoverflow relativo a python per "ricerca di immagini google per script". La parte più fastidiosa di tutto questo è la creazione di vostra corretta applicazione e personalizzato motore di ricerca (CSE) nell'interfaccia utente web di Google, ma una volta che avete la vostra chiave API e CSE, definirli nel vostro ambiente e fare qualcosa di simile:
#!/usr/bin/env python
# save top 10 google image search results to current directory
# https://developers.google.com/custom-search/json-api/v1/using_rest
import requests
import os
import sys
import re
import shutil
url = 'https://www.googleapis.com/customsearch/v1?key={}&cx={}&searchType=image&q={}'
apiKey = os.environ['GOOGLE_IMAGE_APIKEY']
cx = os.environ['GOOGLE_CSE_ID']
q = sys.argv[1]
i = 1
for result in requests.get(url.format(apiKey, cx, q)).json()['items']:
link = result['link']
image = requests.get(link, stream=True)
if image.status_code == 200:
m = re.search(r'[^\.]+$', link)
filename = './{}-{}.{}'.format(q, i, m.group())
with open(filename, 'wb') as f:
image.raw.decode_content = True
shutil.copyfileobj(image.raw, f)
i += 1
Immagino che Google sia preoccupata per le risorse che potrebbero verificarsi. Sarebbe una grande cosa lo – Coffee
Questo script python potrebbe aiutare: http://bit.ly/QjIy21 – EyalAr