Der Code hat mir geholfen, eine Reihe von Bildern von Google herunterzuladen. Früher hat es vor ein paar Tagen funktioniert und jetzt bricht plötzlich der Code.
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()
Ausgabeprotokoll:
Artikel-Nr.: 1 -> Artikelname = Apple Evaluating ... Starten des Downloads ...
Leider konnten nicht alle 4 heruntergeladen werden, da einige Bilder nicht heruntergeladen werden konnten. 0 ist alles was wir für diesen Suchfilter haben!
Fehler: 0
Artikel-Nr.: 1 -> Artikelname = Orange Auswerten ... Download starten ...
Leider konnten nicht alle 4 heruntergeladen werden, da einige Bilder nicht heruntergeladen werden konnten. 0 ist alles was wir für diesen Suchfilter haben!
Fehler: 0
Artikel-Nr.: 1 -> Artikelname = Trauben bewerten ... Download starten ...
Leider konnten nicht alle 4 heruntergeladen werden, da einige Bilder nicht heruntergeladen werden konnten. 0 ist alles was wir für diesen Suchfilter haben!
Fehler: 0
Artikel-Nr.: 1 -> Artikelname = Wassermelone Auswertung ... Download starten ...
Leider konnten nicht alle 4 heruntergeladen werden, da einige Bilder nicht heruntergeladen werden konnten. 0 ist alles was wir für diesen Suchfilter haben!
Fehler: 0
Dadurch wird tatsächlich ein Ordner erstellt, der jedoch keine Bilder enthält.
quelle
Antworten:
Es sieht so aus, als ob es ein Problem mit dem Paket gibt. Siehe diese offenen PRs: PR1 und PR2
quelle
Ich denke, Google ändert das DOM. Das Element class = "rg_meta notranslate" existiert nicht mehr. Es wird in class = "rg_i ..." geändert.
quelle
In der Tat ist das Problem vor nicht allzu langer Zeit aufgetreten, es gibt bereits eine Reihe ähnlicher Github-Probleme:
Leider gibt es keine offizielle Lösung. Derzeit können Sie die temporäre Lösung verwenden, die in den Diskussionen bereitgestellt wurde.
quelle
Der Grund, warum dies nicht funktioniert, ist, dass Google die Art und Weise geändert hat, in der alles ausgeführt wird, sodass Sie jetzt den in der Suchzeichenfolge enthaltenen api_key benötigen. Infolgedessen funktionieren Pakete wie Google-Images-Download nicht mehr, selbst wenn Sie die Version 2.8.0 verwenden, da sie keinen Platzhalter zum Einfügen der Zeichenfolge api_key haben, die Sie bei Google registrieren müssen, um Ihre 2500 kostenlosen Downloads pro Tag zu erhalten.
Der beste Weg, dies jetzt zu tun, besteht darin, das Pip-Paket google-search-results zu verwenden und Ihren api_key als Teil der Abfrageparameter anzugeben.
wo Sie Ihren API-Schlüssel selbst bereitstellen und dann aufrufen:
Dies gibt eine JSON-Zeichenfolge mit dem Link zu allen Bild-URLs zurück und Sie laden sie einfach direkt herunter.
quelle