/
valieva
/
project
Обзор
Документация
Войти
/
valieva
/
project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
BACKEND
parserold.html
69 строк
3 KB
valieva
upload files
02 июн 2025, 14:44
02 июн 2025, 14:44
7790b5a
Код
Авторство
О чём код?
<!-- templates/index.html --> <!DOCTYPE html> <html> <head> <title>Парсер Яндекс.Маркета</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h1>Управление парсингом</h1> <h2>Добавить категорию</h2> <form method="POST" action="/add_category"> <input type="text" name="name" placeholder="Название категории" required> <input type="url" name="url" placeholder="URL категории" required> <select name="parent_id"> <option value="">Без родительской категории</option> {% for category in categories %} <option value="{{ category.id }}">{{ category.name }}</option> {% endfor %} </select> <button type="submit">Добавить</button> </form> <h2>Категории для парсинга</h2> <ul> {% for category in categories %} <li> {{ category.name }} <form method="POST" action="/parse" style="display:inline;"> <input type="hidden" name="category_id" value="{{ category.id }}"> <button type="submit">Запустить парсинг</button> </form> <span id="status-{{ category.id }}"></span> </li> {% endfor %} </ul> <script> $('form[action="/parse"]').submit(function(e) { e.preventDefault(); const form = $(this); const categoryId = form.find('input[name="category_id"]').val(); const statusSpan = $(`#status-${categoryId}`); statusSpan.text('Запуск...'); $.post('/parse', form.serialize(), function(data) { const taskId = data.task_id; statusSpan.text('Выполняется...'); // Проверка статуса задачи const checkStatus = function() { $.get(`/task_status/${taskId}`, function(data) { if (data.status.includes('completed')) { statusSpan.text('Готово!'); } else if (data.status.includes('failed')) { statusSpan.text('Ошибка: ' + data.status.split(':')[1]); } else { setTimeout(checkStatus, 2000); } }); }; setTimeout(checkStatus, 2000); }); }); </script> </body> </html>