Le code m'a aidé à télécharger un tas d'images de Google. Il fonctionnait il y a quelques jours et maintenant tout à coup, le code casse.
Code:
# importing google_images_download module
from google_images_download import google_images_download
# creating object
response = google_images_download.googleimagesdownload()
search_queries = ['Apple', 'Orange', 'Grapes', 'water melon']
def downloadimages(query):
# keywords is the search query
# format is the image file format
# limit is the number of images to be downloaded
# print urs is to print the image file url
# size is the image size which can
# be specified manually ("large, medium, icon")
# aspect ratio denotes the height width ratio
# of images to download. ("tall, square, wide, panoramic")
arguments = {"keywords": query,
"format": "jpg",
"limit":4,
"print_urls":True,
"size": "medium",
"aspect_ratio": "panoramic"}
try:
response.download(arguments)
# Handling File NotFound Error
except FileNotFoundError:
arguments = {"keywords": query,
"format": "jpg",
"limit":4,
"print_urls":True,
"size": "medium"}
# Providing arguments for the searched query
try:
# Downloading the photos based
# on the given arguments
response.download(arguments)
except:
pass
# Driver Code
for query in search_queries:
downloadimages(query)
print()
Journal de sortie:
Numéro d'article: 1 -> Nom de l'article = Apple Evaluating ... Démarrage du téléchargement ...
Malheureusement, les 4 n'ont pas pu être téléchargés car certaines images n'étaient pas téléchargeables. 0 est tout ce que nous avons obtenu pour ce filtre de recherche!
Erreurs: 0
Numéro d'article: 1 -> Nom de l'article = Orange Évaluation ... Démarrage du téléchargement ...
Malheureusement, les 4 n'ont pas pu être téléchargés car certaines images n'étaient pas téléchargeables. 0 est tout ce que nous avons obtenu pour ce filtre de recherche!
Erreurs: 0
Numéro d'article: 1 -> Nom de l'article = Évaluation des raisins ... Démarrage du téléchargement ...
Malheureusement, les 4 n'ont pas pu être téléchargés car certaines images n'étaient pas téléchargeables. 0 est tout ce que nous avons obtenu pour ce filtre de recherche!
Erreurs: 0
Numéro d'article: 1 -> Nom de l'article = melon d'eau Évaluation ... Démarrage du téléchargement ...
Malheureusement, les 4 n'ont pas pu être téléchargés car certaines images n'étaient pas téléchargeables. 0 est tout ce que nous avons obtenu pour ce filtre de recherche!
Erreurs: 0
Cela crée en fait un dossier mais pas d'images dedans.
la source
Réponses:
Il semble qu'il y ait un problème avec le package. Voir ces RP ouverts: PR1 et PR2
la source
Je pense que Google change le DOM. L'élément class = "rg_meta notranslate" n'existe plus. Il est changé en class = "rg_i ..."
la source
En effet, le problème est apparu il n'y a pas si longtemps, il existe déjà un tas de problèmes similaires sur Github:
Malheureusement, il n'y a pas de solution officielle, pour l'instant, vous pouvez utiliser la solution temporaire fournie lors des discussions.
la source
La raison pour laquelle cela ne fonctionne pas est que Google a changé la façon dont ils font tout pour que vous ayez maintenant besoin de la clé api_key incluse dans la chaîne de recherche. À la suite de ces packages tels que google-images-download ne fonctionnent plus même si vous utilisez la version 2.8.0 car ils n'ont pas d'espace réservé pour insérer la chaîne api_key que vous devez enregistrer auprès de Google pour obtenir vos 2500 téléchargements gratuits par jour.
Donc, la meilleure façon de le faire maintenant est d'utiliser le package pip google-search-results et de fournir votre api_key dans le cadre des paramètres de requête.
où vous fournissez vous-même votre clé API, puis appelez:
Cela renvoie une chaîne JSON avec le lien vers toutes les URL des images, puis vous les téléchargez directement.
la source