Как найти и скачать фото в браузере на Python
Мне необходимо найти и скачать фото по метке на python. Вот что я нашёл:
import webbrowser
key = 'яблоко'
webbrowser.open_new_tab('https://www.google.ru/search?q=' + key + '&newwindow=1&espv=2&source=lnms&tbm=isch&sa=X')
что делать дальше?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Через webbrowser никак не получится -- он умеет только открывать ссылки.
Для этой задачи используйте selenium, его придется установить:
pip install selenium
И настраивать чтобы работал для указанного браузера, например Firefox.
UPD.
Меня этот вопрос увлек и пока разбирался как из результата поиска гугла вытащить картинки получился пример выгрузки первой картинки из результата поиска:
from base64 import b64decode
# pip install selenium
from selenium import webdriver
key = 'яблоко'
url = f'https://www.google.ru/search?q={key}&newwindow=1&espv=2&source=lnms&tbm=isch&sa=X'
driver = webdriver.Firefox()
driver.implicitly_wait(10) # seconds
driver.get(url)
# Поиск первой картинки
img = driver.find_element_by_xpath('//img[starts-with(@src, "data:image/jpeg;base64,")]')
src = img.get_attribute('src')
src = src.split('data:image/jpeg;base64,')[1]
img_data = b64decode(src)
with open('img.jpg', 'wb') as f:
f.write(img_data)
# Делаем скриншот результата
driver.save_screenshot('screenshot.png')
driver.quit()
Фишка в том, что картинки хранятся в img@src как base64.
Результат:
screenshot.png:

img.jpg:
