feat: add declarative site parser engine
This commit is contained in:
+10
-6
@@ -586,7 +586,13 @@ Retention: записи старше 30 дней удаляются при ст
|
||||
Записи без достаточного текста, включая video-only, не сохраняются и не
|
||||
попадают в media uploader.
|
||||
|
||||
`access='cloudflare'` включает Playwright и RuCaptcha для конкретного
|
||||
Конфиг v1 описывает `discovery` (`rss` или `html`), точные `detail.fields`,
|
||||
`detail.media`, транспорт detail-страниц и ограниченные ретраи. Каждый field
|
||||
может иметь ordered `candidates`: CSS/attribute/JSON/date fallback. Ошибка
|
||||
одного detail возвращает `partial`, сохраняет успешных соседей и показывает
|
||||
диагностику в статусе источника.
|
||||
|
||||
`access.type='cloudflare'` включает Playwright и RuCaptcha для конкретного
|
||||
источника; обычные RSS и сайты идут без браузера. Полученные `cf_clearance` и
|
||||
точный User-Agent браузера сохраняются в runtime state источника и повторно
|
||||
используются media uploader при скачивании защищённых картинок.
|
||||
@@ -1136,11 +1142,9 @@ Worker учитывает:
|
||||
- active
|
||||
- обязательный JSON-конфиг конкретного источника
|
||||
|
||||
Пример рабочего PopularAirsoft:
|
||||
|
||||
```json
|
||||
{"format":"rss","access":"cloudflare","max_items":10,"min_text_length":50}
|
||||
```
|
||||
Полный проверенный конфиг PopularAirsoft находится в
|
||||
`site_parser_worker/README.md`. Для него используется HTML discovery главной
|
||||
страницы, потому что RSS смешивает короткие video pages и полные новости.
|
||||
|
||||
Ошибки конфигурации, внешнего worker или сайта показываются в статусе
|
||||
источника. После загрузки защищённые изображения отображаются в raw/editor по
|
||||
|
||||
Reference in New Issue
Block a user