Um diese Bibliothek zu verwenden, müssen Sie Google Custom Search API aktivieren, API -Schlüsselanmeldeinformationen generieren und ein Projekt festlegen:
Besuchen Sie https://console.developers.google.com und erstellen Sie ein Projekt.
Besuchen Sie https://console.developers.google.com/apis/library/customsearch.googleapis.com und aktivieren Sie "benutzerdefinierte Such -API" für Ihr Projekt.
Besuchen Sie https://console.developers.google.com/apis/credentials und generieren Sie API -Schlüsselanmeldeinformationen für Ihr Projekt.
Besuchen enthalten Websites ".
Nachdem Sie Ihr Google Developers -Konto und -projekt eingerichtet haben, sollten Sie mit dem Entwickler -API -Schlüssel und dem Projekt CX zur Verfügung gestellt werden.
Paket von pypi.org installieren:
> PIP Installieren Sie Google-Images-Search
# ohne Umgebungsvariablen:> Gimages -k __your_dev_api_key__ -c __your_project_cx__ Search -q Welpen
# mit Umgebungsvariablen:> exportieren gcs_developer_key = __ your_dev_api_key __> exportieren gcs_cx = __ your_project_cx __ >> gimages such -q pupenies
# Nur Suche (keine Download und Größe der Größe):> Gimages Search -q Welpen
# Nur Suche und Download (keine Änderung).
# Suchen, Download und Größen Sie die Größe:> Gimages -Suche -q Welpen -d / path / -W 500 -h 500
von Google_images_search importieren GoogleImagesssearch# Sie können API -Schlüssel und CX mit Argumenten,# oder Sie Umgebungsvariablen festlegen: gcs_developer_key, gcs_cxgis = googleImagesssearch ('your_dev_api_key', 'your_project_cx') Unten für einfache Referenzen.# Für Param, der mit '##':# - Multiselect gekennzeichnet ist, ist derzeit nicht machbar. Wählen Sie nur eine Option## - Dieser Param kann auch in _search_params weggelassen werden, wenn Sie keine value_search_params = {'q': '...', 'num': 10, 'Filetype': 'JPG | GIF | definieren möchten Png ',' Rights ':' cc_publicdomain | cc_attribute | cc_sharealike | cc_noncommercial | cc_nontrigived ',' safe ':' aktiv | High | Medium | OFF | SafeNefined ', ##' imgType ':' clippart | face | lineart | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | stock | Foto | animiert | imgTypeundefined ', ##' imgSize ':' riesig | icon | groß | mittel | klein | xlarge | xxlarge | imgsizeundefined ', ##' imgdominantColor ':' schwarz | blau | braun | green | green | orange | pink | lila | rot | blau | weiß | gelb | imgdominantcolorundefined ', ##' imgcolortype ':' color | grau | mono | trans | imgcolortypeundeded '##}#Dies sucht nur nach Bildern: GIS.Search (Search_Params = _SEARCH_PARAMS_PARAMS )# Dies sucht und download: gis.search (search_params = _search_params, path_to_dir = '/path/')# Dies sucht, lädt und ändern Sie die Größe: gis.search (Search_params = _SEARCH_PARAMS, PATH_TO_DIR = '/PATH/', WADTHTHTHE = 500, Height = 500) # Suchen Sie zuerst, laden Sie danach herunter und ändern Image.Download ('/path/') # ImageImage.Resize (500, 500) herunterladen # Die Größe des heruntergeladenen ImageImage # Lowerd Local Dateipfad heruntergeladen
Manchmal möchten Sie Bilder mit Dateinamen Ihrer Wahl speichern.
Von Google_images_Search importieren Sie googleImagesssearchgis = googleImagessearch ('your_dev_api_key', 'your_project_cx') _ search_params = {...} gis.search (search_params = _search_params, path_to_dir = '...', Custom_image_name = 'my_image')
Die API -Grenze von Google beträgt 10 Bilder pro Anfrage.
Das heißt, wenn Sie 123 Bilder möchten, wird es intern in 13 Anfragen unterteilt.
Denken Sie daran, dass das Erhalten von 123 Bildern etwas mehr Zeit in Anspruch nimmt, wenn die Bildvalidierung aktiviert ist.
von Google_Images_Search importieren GoogleImagessearchgis = googleImagessearch ('your_dev_api_key', 'your_project_cx') _ search_params = {'q': '...', 'num': 123, }# Erstige 123 Bilder erhalten: gis.search (search_params = _search_params)# Nehmen Sie die nächsten 123 Bilder von Google Images Search: gis.next_page () für das Bild in gis.results (): ...
Jede Bild -URL wird standardmäßig validiert.
Das bedeutet, dass jede Bild -URL überprüft wird, wenn die Header abgerufen und validiert werden können.
Damit müssen Sie sich nicht darüber vorstellen, welche Bild -URL tatsächlich herunterladbar ist oder nicht.
Der Nachteil ist die Zeit, die erforderlich ist, um zu validieren.
Wenn Sie es vorziehen, können Sie es ausschalten.
Von Google_images_Search importieren GoogleImagesssearch# Schalten Sie die Validierung mit "validate_images" agrumentgis = googleImagessearch aus ('your_dev_api_key', 'your_project_cx', valate_images = false).
Standardmäßig ist ProgressBar nicht aktiviert.
Nur in der CLI -ProgressBar wird standardmäßig mit der Flursbibliothek aktiviert.
In einem programmatischen Modus kann es auf zwei Arten aktiviert werden:
Verwenden des Kontextmodus (Flüche)
Verwenden Sie Ihre benutzerdefinierte ProgressBar -Funktion
Aus Google_images_Search importieren Sie GoogleImagesssearch# Verwenden Sie Ihre benutzerdefinierte ProgressBar -Funktion für My_progressBar (URL, Fortschritt): print (url + ' + progress +'%') gis = googleImagessearch (' your_dev_api_key ',' your_project_cx ', progreshbar_fn = my_progress). ..} gis.search (search_params = _search_params)# Verwenden des kontextuellen Modus (Flüche) mit GoogleImagessearch ('your_dev_api_key', 'your_project_cx') als gis: _search_params = {...} gis.search (Search (Search ...
Von Google_images_Search importieren GoogleImagessearchfrom IO importieren Bytesiofrom PIL -Import Bild# In diesem Fall verwenden wir PIL, um das Bytesio als Bildobjekt# Auf diese Weise zu halten, auf diese Weise müssen wir nicht auf die Speicherdiskette / Schreibzeit warten. Speicher# Dieses Beispiel sollte 3 Bilder von Welpen anzeigen! In gis.results ():# Hier sagen wir, dass das Bytesio -Objekt an die Adresse zurückkehren soll 0MY_BYTES_IO.SEEK (0)# RAW Image dataraw_image_data = image.get_raw_data ()# Diese Funktion schreibt die rohen Bilddaten an die objektimage.copy_to (((((). my_bytes_io, raw_image_data)# oder ohne die Rohdaten, die automatisch in der methodimage.copy_to (my_bytes_io)# aufgenommen werden. Wir kehren erneut an die Adresse 0 zurück, damit Pil es von Anfang bis fundmy_bytes_io.seek (0)## Pil lesen kann. Erstellen Sie ein temporäres Image ObjectTEMP_IMG = Image.open (my_bytes_io) # Zeigen Sie es im Standardsystem Foto Vietertemp_img.show () an.