Написать парсер согласно ТЗ

Цена договорная
22 февраля 2025, 15:28 • 8 откликов • 82 просмотра
Ниже приведён упрощённый вариант технического задания (ТЗ) с учётом новых условий:

1. Ссылка на товар с eBay сохраняется по нажатию специальной кнопки в браузере.

2. В момент сохранения пользователь может отредактировать (скорректировать) название товара.

3. Описание (текст объявления) генерируется автоматически с помощью нейросети (например, через API ChatGPT или другую LLM).

1. Цель и суть проекта



Создать инструмент, позволяющий:

1. Одним кликом сохранять ссылку на интересующий лот на eBay (через кнопку в браузере).

2. Тут же редактировать (корректировать) название товара перед сохранением.

3. Автоматически создавать описание объявления (для Avito или других площадок) с помощью нейросети.



Итоговая информация (название, цена, фото, сгенерированное описание) должна сохраняться в удобном формате (JSON/XML/HTML) для дальнейшей выгрузки в 1С-Битрикс.

2. Основные задачи

1. Расширение (или кнопка) в браузере

• При просмотре лота на eBay пользователь нажимает кнопку «Сохранить».

• Система автоматически считывает URL текущей страницы.

• После клика появляется диалоговое окно (попап), где отобразится:

• Исходное название товара (полученное автоматически или же пользователь может ввести).

• Поле для корректировки названия (редактирование).

• Поле стоимости товара



2. Парсинг данных о лоте

• По сохранённому URL система должна получить:

• Название (title)

• Цена (с указанием валюты)

• Фото (максимально доступное разрешение)

• Эти данные сохраняются на сервере или в локальной базе (обсуждается).

3. Автоматическая генерация описания (текста объявления) с помощью нейросети

• После сохранения и редактирования названия система отправляет скорректированное название (и, при необходимости, дополнительные параметры) в API нейросети (например, ChatGPT).

• На выходе получаем готовое описание, которое:

• Можно сразу сохранить.

• При необходимости пользователь может отредактировать вручную.

4. Сохранение и экспорт

• Все полученные данные (название, цена, фото, сгенерированный текст объявления) необходимо сохранять в удобном формате.

• Предусмотреть возможность экспорта (JSON/XML/HTML) для дальнейшей загрузки в 1С-Битрикс.

• Желательно иметь интерфейс для просмотра сохранённых лотов (списком), редактирования и повторной выгрузки.

3. Функциональные требования

1. Интерфейс кнопки/расширения

• Должна корректно работать в популярных браузерах (Chrome, Firefox, Edge).

• При нажатии на кнопку пользователь сразу видит небольшое окно с возможностью внести изменения в название.

• После подтверждения (кнопка «Сохранить») вся информация передаётся на сервер или локально сохраняется.

2. Парсинг

• Автоматически извлекать минимум три параметра:

• Название лота (title)

• Цена (с валютой)

• Ссылки на фото (оригинальные, максимальный размер)

• В случае ошибок (страница не найдена и т. п.) – выводить уведомление пользователю.

3. Генерация текста нейросетью

• Нужна интеграция с API нейросети (ChatGPT или аналог).

• Передаём ей, как минимум: отредактированное название товара.

• Получаем развернутое описание (общее или с заранее заданным «шаблоном», если необходимо).

• Результат сохраняется в базе.

4. Система хранения

• Хранить данные по каждому лоту:

• Ссылка на eBay

• Оригинальное название + скорректированное название

• Цена

• Ссылки на фото (или сами файлы)

• Сгенерированный текст объявления

• Возможен вариант хранения в локальной БД (SQLite, MySQL) или в облачной БД (по согласованию).

5. Выгрузка в 1С-Битрикс

• Возможна в формате JSON/XML/HTML (обсудить точные требования с интеграторами).

• Должна содержать:

• Итоговый заголовок (скорректированное название)

• Текст объявления, сгенерированный нейросетью (желательно в HTML)

• Фото (ссылки или файлы)

• Цену (если нужно отображать)

4. Технические моменты

1. Технология реализации

• Не принципиальна; главное, чтобы расширение/кнопка было совместимо с основными браузерами, а серверная часть могла работать на общедоступном хостинге.

• Предпочтительно использовать простые и популярные решения (Node.js, Python, PHP).

2. Интеграция с нейросетью

• Исполнитель должен предложить или использовать готовое решение (например, OpenAI API).

• Предусмотреть обработку ошибок (если API временно недоступно или исчерпан лимит запросов).

3. UI/UX

• Окно для редактирования названия должно быть максимально простым.

• В случае необходимости более глубоких правок текста после генерации также должен быть доступен текстовый редактор (но можно ограничиться «textarea»).

4. Безопасность

• Нужен базовый механизм авторизации (логин/пароль) для доступа к списку сохранённых лотов и выгрузке.

• Поддержка HTTPS для передачи данных (если есть серверная часть).

5. Критерии приёмки

1. Работа кнопки/расширения:

• При нажатии на лот eBay открывается окошко с автоматически подставленным названием.

• Пользователь может внести правки, нажать «Сохранить», после чего данные уходят в систему.

2. Корректность парсинга:

• Название, цена и изображения подтягиваются правильно с реальных ссылок на eBay.

3. Генерация описания нейросетью:

• После сохранения/подтверждения система формирует осмысленный текст (на русском языке), основываясь на названии или других атрибутах товара.

• Должен быть блок, где этот текст можно просмотреть/при необходимости доработать.

4. Сохранение и экспорт:

• Все данные лота хранятся в базе, доступны для повторного редактирования.

• Есть кнопка «Экспорт» (или «Выгрузка») для получения JSON/XML/HTML-файла, где будут все нужные данные (название, описание, фото, цена).

5. Удобство и стабильность:

• Система работает без критических ошибок, с базовыми проверками.

• Скорость ответа при парсинге и генерации описания – в разумных пределах (зависит от API).

6. Пример сценария использования (User Flow)

1. Пользователь заходит на eBay, находит нужный товар.

2. Нажимает кнопку в браузере «Сохранить лот».

3. Всплывает окно с полем «Название» (предзаполнено с eBay).

4. Пользователь вносит правки (убирает лишние слова, добавляет «(б/у)» и т.п.).

5. Нажимает «Сохранить», система отправляет данные на сервер.

6. Сервер парсит страницу eBay (цена, фото), обращается к API нейросети для генерации описания.

7. Получает итоговый текст, сохраняет в базе, возвращает пользователю подтверждение.

8. В административном кабинете системы пользователь видит список сохранённых лотов, может экспортировать каждый лот (JSON/XML/HTML).