Parse HTML API
Извлечение структурированных данных из HTML-кода или URL с указанием нужных полей.
Процесс
- Отправить HTML или URL —
POST /parse_html/ - Запросить результат —
GET /parse_html/{id}/
Отправить HTML на парсинг
POST /api/v1/parse_html/
Отправьте сырой HTML-контент или URL вместе со списком полей для извлечения.
Аутентификация
Требуется API-ключ (заголовок X-Api-Key).
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
html | string | Нет | Сырой HTML-контент для парсинга |
url | string | Нет | URL страницы для парсинга |
fields | string[] | Нет | Список полей для извлечения |
Укажите либо
html, либоurl.
{
"url": "https://example.com/page",
"fields": ["title", "price", "description"]
}
Ответ
200 OK
Возвращает идентификатор задачи для последующего опроса результатов.
Получить результат парсинга
GET /api/v1/parse_html/{id}/
Получить результат парсинга для ранее отправленной задачи.
Аутентификация
Публичный эндпойнт — аутентификация не требуется.
Параметры пути
| Параметр | Тип | Описание |
|---|---|---|
id | string | Идентификатор задачи, возвращённый POST-запросом |
Ответ
200 OK
Пример
import time
import requests
API_KEY = "ВАШ_API_КЛЮЧ"
BASE_URL = "https://detect.expert/api/v1"
headers = {"X-Api-Key": API_KEY}
# Отправка HTML на парсинг
payload = {
"url": "https://example.com/page",
"fields": ["title", "price", "description"]
}
response = requests.post(f"{BASE_URL}/parse_html/", json=payload, headers=headers)
task = response.json()
task_id = task["id"]
# Ожидание результата
while True:
result = requests.get(f"{BASE_URL}/parse_html/{task_id}/")
data = result.json()
if data.get("status") == "completed":
print(data)
break
time.sleep(3)