Skip to content

Qawerz/MangabuffCardScrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MangabuffCardScraper

🚀 Веб-скрейпер на 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)

Использование

  1. Вход и сохранение cookies

    uv run main.py
    • Скрипт открывает страницу входа на Mangabuff..

    • Войдите вручную в открывшемся окне Chrome.

    • Cookies сохраняются в файл cookies.json.

  2. Сбор карточек

    • После входа скрейпер автоматически:

      • Переберет 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.

  • Логи включают посещения страниц, ошибки (например, удаленные карточки) и операции вставки в БД.

About

Mangabuff cards comments scrapper

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages