Qvint01
@Qvint01

Есть ли такой модуль на python?

Есть ли такой модуль, который выдавал бы случайное изображение по какому-либо запросу в google ( вообще без разницы можно любой поисковик) пытался сделать парсер, не получилось сам гугл не даёт такое сделать p.s код
spoiler

import requests
from json import loads
from bs4 import BeautifulSoup
from random import choice

s = requests.session()
s.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0'})
 
r = s.get('https://www.google.ru/search?q=мем&tbm=isch')
 
soup = BeautifulSoup(r.text, "html.parser")
FORMATS = ('.png', '.jpg', '.jpeg')

elems = soup.findAll(attrs={'class': 'rg_meta notranslate'})
while True:
    url = loads(choice(elems).text)['ou']

    if url.endswith(FORMATS):
        print(url)
        break
оно работает, но через раз

Если есть такой модуль, пожалуйста подскажите
  • Вопрос задан
  • 593 просмотра
Пригласить эксперта
Ответы на вопрос 2
deepblack
@deepblack Куратор тега Python
Незнаю зачем тут поисковик, но
Для получения изображений можно использовать Unsplash API метод get-a-random-photo

Библиотеки:
https://github.com/yakupadakli/python-unsplash
https://github.com/salvoventura/pyunsplash

Если нужен именно поисковик, то вот пример:
https://github.com/arrrlo/Google-Images-Search

from google_images_search import GoogleImagesSearch

# if you don't enter api key and cx, the package will try to search
# them from environment variables GCS_DEVELOPER_KEY and GCS_CX
gis = GoogleImagesSearch('your_dev_api_key', 'your_project_cx')

# example: GoogleImagesSearch('ABcDeFGhiJKLmnopqweRty5asdfghGfdSaS4abC', '012345678987654321012:abcde_fghij')

#define search params:
_search_params = {
    'q': '...',
    'num': 1-50,
    'safe': 'high|medium|off',
    'fileType': 'jpg|gif|png',
    'imgType': 'clipart|face|lineart|news|photo',
    'imgSize': 'huge|icon|large|medium|small|xlarge|xxlarge',
    'imgDominantColor': 'black|blue|brown|gray|green|pink|purple|teal|white|yellow'
}

# this will only search for images:
gis.search(search_params=_search_params)

# this will search and download:
gis.search(search_params=_search_params, path_to_dir='/path/')

# this will search, download and resize:
gis.search(search_params=_search_params, path_to_dir='/path/', width=500, height=500)

# search first, then download and resize afterwards
gis.search(search_params=_search_params)
for image in gis.results():
    image.download('/path/')
    image.resize(500, 500)
Ответ написан
Комментировать
@SaM1808
Я я верно понял вопрос...
Я для таких целей пользую Google Images Download
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект