An open API service indexing awesome lists of open source software.

https://github.com/nurjahonergashevme/etsy-parser

Автоматизированный парсер магазинов Etsy с GUI интерфейсом, Telegram ботом и интеграцией с Google Sheets.
https://github.com/nurjahonergashevme/etsy-parser

aiogram etsy gui parser python

Last synced: 10 months ago
JSON representation

Автоматизированный парсер магазинов Etsy с GUI интерфейсом, Telegram ботом и интеграцией с Google Sheets.

Awesome Lists containing this project

README

          

# Etsy Parser

Автоматизированный парсер магазинов Etsy с GUI интерфейсом, Telegram ботом и интеграцией с Google Sheets.

## Возможности

- **Парсинг магазинов Etsy** - автоматический сбор данных о товарах
- **GUI интерфейс** - удобное управление через графический интерфейс
- **Telegram бот** - уведомления о новых товарах и управление парсингом
- **Google Sheets** - экспорт данных в таблицы Google
- **Мониторинг изменений** - отслеживание новых товаров в магазинах
- **Обход блокировок** - автоматическая смена прокси при блокировке
- **Планировщик** - автоматический запуск парсинга по расписанию

## Структура проекта

```
sacsca/
├── bot/ # Telegram бот
├── core/ # Основная логика мониторинга
├── gui/ # Графический интерфейс
├── parsers/ # Парсеры для Etsy
├── services/ # Сервисы (браузер, данные, Google Sheets)
├── models/ # Модели данных
├── utils/ # Утилиты
├── config/ # Конфигурация
├── output/ # Результаты парсинга
└── logs/ # Логи приложения
```

## Установка

1. Клонируйте репозиторий:
```bash
git clone
cd sacsca
```

2. Установите зависимости:
```bash
pip install -r requirements.txt
```

3. Настройте конфигурацию:
- Создайте файл `.env` с настройками бота
- Добавьте `credentials.json` для Google Sheets API
- Настройте список магазинов в `config.txt`

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

### GUI режим
```bash
python main.py
```

### Разовый парсинг
```bash
python app.py
```

### Telegram бот
```bash
python bot.py
```

## Конфигурация

### Переменные окружения (.env)
```
BOT_TOKEN=your_telegram_bot_token
ADMIN_ID=your_telegram_user_id
```

### Google Sheets API
Поместите файл `credentials.json` с ключами сервисного аккаунта Google в корень проекта.

### Прокси (опционально)
Добавьте прокси в файл `proxies.txt` в формате:
```
ip:port:username:password
```

## Основные компоненты

### EtsyParser
- Парсинг товаров с первой страницы магазина
- Обход блокировок и капчи
- Автоматическая смена прокси
- Обработка 403 ошибок

### EtsyMonitor
- Мониторинг изменений в магазинах
- Сравнение с предыдущими результатами
- Сохранение данных в Excel и JSON

### Telegram Bot
- Уведомления о новых товарах
- Управление парсингом
- Планировщик задач
- Администрирование

### GUI
- Визуальное управление парсингом
- Просмотр логов
- Настройка конфигурации

## Форматы вывода

- **Excel файлы** - детальные данные по каждому магазину
- **JSON файлы** - структурированные данные для обработки
- **Google Sheets** - онлайн таблицы с результатами

## Требования

- Python 3.8+
- Chrome/Chromium браузер
- Telegram Bot Token (для бота)
- Google Service Account (для Sheets)

## Лицензия

MIT License