🚀 Веб-скрейпер на Python для сайта Mangabuff.ru, предназначенный для сбора карточек, их изображений и комментариев пользователей в структурированную базу данных SQLite.
Проект использует Selenium со stealth-настройками для обхода обнаружения, автоматически восстанавливает cookies сессии для входа и сохраняет все извлеченные данные в cards.db.
- 🔑 Восстановление сессии через cookies (требуется один раз выполнить ручной вход).
- 🖼 Сбор карточек:
- ID карточки
- Название карточки
- URL изображения карточки
- 💬 Парсинг комментариев:
- Тег пользователя
- Имя пользователя
- Дата комментария
- Текст комментария
- 🗄 Интеграция с базой данных SQLite (
cards.db). - 🛑 Корректная обработка удаленных страниц (404).
- 📊 Опциональное отображение прогресса через
tqdm.
- Python 3.9+
- Google Chrome (последняя стабильная версия)
- ChromeDriver (совместимая с вашей версией Chrome)
Клонируйте репозиторий и установите зависимости:
git clone https://github.com/your-username/mangabuff-card-scraper.git
cd mangabuff-card-scraper
python -m venv .venv
source .venv/bin/activate # Для Linux / macOS
.venv\Scripts\activate # Для Windows
pip install -r requirements.txtОсновные пакеты:
- selenium
- selenium-stealth
- tqdm
- sqlite3 (встроен в Python)
-
Вход и сохранение cookies
uv run main.py
-
Скрипт открывает страницу входа на Mangabuff..
-
Войдите вручную в открывшемся окне Chrome.
-
Cookies сохраняются в файл
cookies.json.
-
-
Сбор карточек
-
После входа скрейпер автоматически:
- Переберет ID карточек (от 1 до 280921)..
-
Сохранит данные в
cards.db.
-
cards.db содержит две таблицы::
cards (Карточки)
| Поле | Тип | Описание |
|---|---|---|
| id | INTEGER | ID карточки (PK) |
| name | TEXT | Название карточки |
| image_url | TEXT | Ссылка на изображение |
comments (Комментарии)
| Поле | Тип | Описание |
|---|---|---|
| id | INTEGER | Автоинкрементный PK |
| card_id | INTEGER | Ссылка на cards.id |
| tag | TEXT | Клан/тег пользователя |
| user | TEXT | Имя пользователя |
| date | TEXT | Дата комментария (как на сайте) |
| text | TEXT | Текст комментария |
-
Скрипт ведет запись активности в файл
py_log.log. -
Логи включают посещения страниц, ошибки (например, удаленные карточки) и операции вставки в БД.