Сделать бота для сбора датасета (нужно где-то 5000 фото) Бот бегает по сайтам нажимает на любую кнопку и делает скрины изменений интерфейсов и формирует датасет с репозиториями: dataset -images before -images after изображения имеют одинаковые названия, чтобы коннектить изображения из папки до нажатия кнопки и после. оформить этот проект в git с подробно инструкцией
Создание бота для сбора датасета, который делает скриншоты интерфейсов до и после нажатия кнопок, может быть выполнено с использованием Python и библиотеки Selenium для автоматизации веб-браузера. Вот пошаговая инструкция по созданию такого проекта и его оформления в Git.
Убедитесь, что у вас установлен Python. Затем установите необходимые библиотеки:
pip install selenium pillow
Создайте структуру проекта:
web_scraper/
├── dataset/
│ ├── images_before/
│ └── images_after/
├── main.py
├── requirements.txt
└── README.md
Создайте файл main.py
и добавьте следующий код:
import os
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from PIL import Image
# Настройки для Chrome
chrome_options = Options()
chrome_options.add_argument("--headless") # Запуск в фоновом режиме
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--window-size=1920x1080")
# Путь к драйверу Chrome
chrome_driver_path = 'path/to/chromedriver'
# Создание папок для хранения изображений
os.makedirs('dataset/images_before', exist_ok=True)
os.makedirs('dataset/images_after', exist_ok=True)
def take_screenshot(driver, path):
driver.save_screenshot(path)
image = Image.open(path)
image = image.crop((0, 0, 1920, 1080)) # Обрезка изображения до нужного размера
image.save(path)
def main():
driver = webdriver.Chrome(service=Service(chrome_driver_path), options=chrome_options)
urls = [
'https://example.com', # Добавьте сюда URL-адреса сайтов
# 'https://another-example.com',
]
for i, url in enumerate(urls):
driver.get(url)
time.sleep(2) # Ожидание загрузки страницы
before_path = f'dataset/images_before/{i}.png'
after_path = f'dataset/images_after/{i}.png'
# Скриншот до нажатия кнопки
take_screenshot(driver, before_path)
# Нажатие на первую кнопку на странице
try:
button = driver.find_element(By.TAG_NAME, 'button')
button.click()
time.sleep(2) # Ожидание изменений на странице
# Скриншот после нажатия кнопки
take_screenshot(driver, after_path)
except Exception as e:
print(f'Ошибка на {url}: {e}')
driver.quit()
if __name__ == "__main__":
main()
requirements.txt
Добавьте зависимости в файл requirements.txt
:
selenium
pillow
README.md
Создайте файл README.md
и добавьте инструкцию по запуску проекта:
# Web Scraper for Dataset Collection
Этот проект предназначен для автоматического сбора датасета изображений интерфейсов до и после нажатия кнопок на веб-страницах.
## Установка
1. Клонируйте репозиторий:
```bash
git clone https://github.com/yourusername/web_scraper.git
cd web_scraper
pip install -r requirements.txt
main.py
.urls
в main.py
.python main.py
web_scraper/
├── dataset/
│ ├── images_before/
│ └── images_after/
├── main.py
├── requirements.txt
└── README.md
Этот проект лицензирован под лицензией MIT.
### Шаг 6: Инициализация Git репозитория
Инициализируйте Git репозиторий и сделайте первый коммит:
```bash
cd web_scraper
git init
git add .
git commit -m "Initial commit"
Создайте новый репозиторий на GitHub и следуйте инструкциям для добавления удаленного репозитория и пуша:
git remote add origin https://github.com/yourusername/web_scraper.git
git branch -M main
git push -u origin main
Теперь ваш проект готов и опубликован на GitHub. Вы можете делиться им с другими и продолжать его улучшать.