Сделать бота для сбора датасета (нужно где-то 5000 фото) Бот бегает по сайтам нажимает на любую кнопку и делает скрины изменений интерфейсов и формирует датасет с репозиториями: dataset -images before -images after изображения имеют одинаковые названия, чтобы коннектить изображения из папки до нажатия кнопки и после.import os import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import NoSuchElementException, ElementClickInterceptedException, TimeoutException
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
screenshot_folder = os.path.join(desktop_path, "Screenshots")
if not os.path.exists(screenshot_folder): os.makedirs(screenshot_folder)
driver = webdriver.Safari()
try: # URL веб-сайта url = "https://www.mtsbank.ru/chastnim-licam/karti/credit-mts-cashback/?scro
Для создания бота, который будет собирать скриншоты интерфейсов до и после нажатия кнопок на веб-страницах, можно использовать библиотеку Selenium. Вот пример кода, который выполняет эту задачу:
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException, ElementClickInterceptedException, TimeoutException
# Путь к рабочему столу
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
# Путь к папке скриншотов
screenshot_folder = os.path.join(desktop_path, "Screenshots")
# Путь к папке для изображений "до" и "после"
before_folder = os.path.join(screenshot_folder, "before")
after_folder = os.path.join(screenshot_folder, "after")
# Создание папок, если они не существуют
os.makedirs(before_folder, exist_ok=True)
os.makedirs(after_folder, exist_ok=True)
# Инициализация веб-драйвера для Safari
driver = webdriver.Safari()
# Список URL для посещения
urls = [
"https://www.mtsbank.ru/chastnim-licam/karti/credit-mts-cashback/?scro",
# Добавьте другие URL здесь
]
# Функция для сохранения скриншота
def save_screenshot(folder, name):
path = os.path.join(folder, name)
driver.save_screenshot(path)
# Основная логика
try:
for url in urls:
driver.get(url)
time.sleep(2) # Ожидание загрузки страницы
# Сохранение скриншота "до"
before_screenshot_name = f"before_{int(time.time())}.png"
save_screenshot(before_folder, before_screenshot_name)
# Поиск и нажатие на первую кнопку
try:
button = driver.find_element(By.TAG_NAME, "button")
button.click()
time.sleep(2) # Ожидание изменений на странице
# Сохранение скриншота "после"
after_screenshot_name = f"after_{int(time.time())}.png"
save_screenshot(after_folder, after_screenshot_name)
except (NoSuchElementException, ElementClickInterceptedException, TimeoutException) as e:
print(f"Ошибка при обработке {url}: {e}")
finally:
driver.quit()
Инициализация и настройка:
Основная логика:
Обработка исключений:
time.sleep(2)
) может быть увеличено или уменьшено в зависимости от скорости загрузки страниц.button
. В реальных условиях может потребоваться более сложная логика для поиска нужных элементов.Этот код является базовым примером и может потребовать доработки в зависимости от конкретных требований и особенностей веб-