Получить URL-адрес изображения из результатов google-images-download в Python - PullRequest
0 голосов
/ 29 октября 2018

Есть ли способ получить URL-адреса изображений из изображений, загруженных с помощью google-images-download (https://github.com/hardikvasa/google-images-download)?

Вот пример кода:

from google_images_download import google_images_download 

response = google_images_download.googleimagesdownload()   #class instantiation

arguments = {"keywords"     : 'stackoverflow',
             "limit"        : 3,
             "print_urls"   : True,
             "size"         : ">2MP",
             }
paths = response.download(arguments)

И это печатает:

Элемент №: 1 -> Имя элемента = переполнение стека Оценка ... Запуск Скачать ... URL изображения: https://media.wired.com/photos/5926db217034dc5f91becd6b/master/w_1904,c_limit/so-logo-s.jpg Завершенное изображение ====> 1. so-logo-s.jpg URL изображения: https://kaggle2.blob.core.windows.net/datasets-images/152/327/43994ab64328703c9e656b04e6769947/dataset-original.jpg Завершенное изображение ====> 2. dataset-original.jpg URL изображения: https://i.stack.imgur.com/alOyI.png Завершенное изображение ====> 3. aloyi.png

Ошибки: 0

Переменная paths удобно хранит пути к загруженным файлам, и я хотел бы также сохранить URL-адреса, из которых поступили файлы, но единственная опция, которую предоставляет документация, - это распечатать ее. Есть ли скрытый способ получения URL-адресов или я могу захватить напечатанный вывод?

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Реализация хорошего решения довольно сложна на практике. Вот почему мы создаем SerpAPI.com!

Это веб-сервис, который позволяет выполнять поиск в Google Images и возвращает чистый JSON. интегрируется с большинством языков программирования: python, php, java, golang, nodejs ...

https://serpapi.com/images-results

Google ограничивает количество поисковых запросов в день. но эта услуга обеспечивает неограниченный поиск ...

0 голосов
/ 30 октября 2018

Я заставил это работать. Вероятно, не самое чистое решение, но оно работает.

from google_images_download import google_images_download 
import sys

orig_stdout = sys.stdout
f = open('URLS.txt', 'w')
sys.stdout = f

response = google_images_download.googleimagesdownload()

arguments = {"keywords"     : 'stackoverflow',
             "limit"        : 3,
             "print_urls"   : True,
             "size"         : ">2MP",
             }
paths = response.download(arguments)

sys.stdout = orig_stdout
f.close()

with open('URLS.txt') as f:
    content = f.readlines()
f.close()

urls = []
for j in range(len(content)):
    if content[j][:9] == 'Completed':
        urls.append(content[j-1][11:-1])   
print(urls)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...