Files
LLM-UI/VWTS/README.md
T

6.9 KiB
Raw Blame History

Парсеры автомобильных форумов для RAG

Цель

Выкачать техническую информацию с автомобильных форумов для создания RAG-базы знаний по ремонту автомобилей.

Источники данных

1. vwts.ru — VAG (Volkswagen/Audi/Škoda/SEAT)

  • Движок: XenForo
  • ~60 000+ тем, ~1.2 млн сообщений
  • Парсер: vwts_scraper/
  • Структура URL:
    • Раздел: /forum/vag/{slug}/ (пагинация: page-N)
    • Тема: /forum/topic/{id}/ (пагинация: page-N)
    • Поиск: /forum/search/
    • Теги: /forum/tags/
    • RSS: /forum/vag/-/index.rss

2. нива-лада.рф — Lada Niva / Chevrolet Niva / ВАЗ

  • Движок: phpBB (subsilver2) + Board3 Portal
  • ~20 технических разделов, активный, без CloudFlare
  • Парсер: lada_scraper/
  • Структура URL:
    • Раздел: /n/viewforum.php?f=ID (пагинация: ?start=N)
    • Тема: /n/viewtopic.php?f=ID&t=ID (пагинация: ?start=N)
    • RSS: /n/feed.php

3. Статьи vwts.ru

Разделы форума (18 шт)

Раздел Slug Тем Постов
Диагностика diagnostika 2 322 36 052
Бензиновые двигатели benzinovye-dvigateli 4 559 98 158
Дизельные двигатели dizelnye-dvigateli 3 857 101 174
Система охлаждения/отопление/кондиц. sistema-ohlazhdeniya-otoplenie-konditsionirovanie 6 133 90 689
Система смазки sistema-smazki 258 11 723
Системы впрыска и зажигания sistemy-vpryska-i-zazhiganiya 3 435 87 636
Топливная система toplivnaya-sistema 326 4 916
Выпускная система vypusknaya-sistema 1 064 16 171
Подвеска podveska 4 304 56 200
Рулевое управление rulevoe-upravlenie 2 383 27 212
Тормозная система tormoznaya-sistema 2 736 39 673
Электрооборудование elektrooborudovanie 13 715 146 883
Коробки передач, сцепление korobki-peredach-stseplenie 6 165 67 286
Кузов kuzov 5 480 57 564
Шины / Диски shiny-diski 1 262 18 866
ГСМ goryuche-smazochnye-materialy 606 15 286
Разное raznoe 3 359 35 918
Гараж / инструменты garazh-instrumenty 471 9 630
Автосигнализации avtosignalizatsii-i-zaschita-ot-ugona 1 431 13 763
Сервисы, дилеры servisy-ofitsialnye-dilery 1 474 13 244
Тюнинг tyuning 1 695 41 043
Автозвук avtozvuk 2 514 46 462
Автоэлектроника avtomobilnaya-elektronika-i-aksessuary 36 1 740
Наши машины nashi-mashiny 460 66 809
Оперативные вопросы operativnye-voprosy-tehnicheskie 1 677 31 579
Документация по VW dokumentatsiya-po-volkswagen 1 413 9 396
Модели VW volkswagen 41 248
Skoda skoda 17 59
Электромобили VAG electric-cars 21 108
Отзывы, выбор, покупка otzyvy-vybor-pokupka-avtomobilya 2 190 56 837
Покупка/продажа авто pokupka-i-prodazha-avtomobiley 89 1 978
Отчёты об эксплуатации otchety-o-ekspluatatsii-avtomobiley 38 1 298
Покупка/продажа запчастей pokupka--prodazha-zapchastey 122 1 348
Отзывы о магазинах otzyvy-o-magazinah-zapchastey-razborkah 427 4 261
Барахолка baraholka 18 38
ГАИ и законодательство gai-i-zakonodatelstvo 1 564 24 634
Дороги, поездки dorogi-poezdki-nashi-puteshestviya 454 11 895

Скрипт (пакет Python)

Структура

vwts_scraper/
├── __init__.py        # package
├── __main__.py        # CLI entry point
├── config.py          # константы (DELAY, TIMEOUT, HEADERS)
├── fetch.py           # HTTP GET с ретраями
├── paginate.py        # page_count + HEAD-проверка границ
├── parse.py           # парсинг HTML (темы, посты, теги)
├── state.py           # state.json (per-section)
├── output.py          # JSONL с ротацией
└── run.py             # главный цикл обхода

Запуск

python -m vwts_scraper https://vwts.ru/forum/vag/benzinovye-dvigateli/

Пауза / продолжение

  • Ctrl+C — пауза, состояние сохраняется в vwts_data/{slug}/state.json
  • Повторить команду — продолжит с места остановки
  • Разные разделы не конфликтуют (у каждого своя папка + state.json)

Вывод

  • vwts_data/{slug}/part_0001.jsonl, part_0002.jsonl... — по 100 тем в файле
  • Формат строки JSONL:
    {
      "section": "Диагностика",
      "section_slug": "diagnostika",
      "topic_id": 253735,
      "topic_title": "ошибка 00513. Заглох Passat B3 VR6",
      "topic_url": "https://vwts.ru/forum/topic/253735/",
      "total_posts": 98,
      "posts": [
        {"author": "Wizard13", "date": "2026-05-27T10:00:00", "num": "#1", "text": "...", "tags": ["passat b3", "vr6"]},
        ...
      ],
      "scraped_at": "2026-06-03T20:30:00"
    }
    

Оценка времени

  • Задержка между запросами: 1.5 сек
  • В среднем 2 запроса на тему (список + посты)
  • ~120 000 запросов → ~50 часов чистого времени
  • Реально с учётом ошибок/повторов: ~3-5 дней

Resume (продолжение с места остановки)

  • state.json хранит какие разделы завершены и какие темы обработаны
  • При перезапуске пропускает готовые темы и разделы
  • Данные дописываются в существующие JSONL-файлы (append)

Для RAG

Каждый пост — отдельный chunk с метаданными:

  • section — раздел форума
  • topic_title — название темы
  • tags — теги темы
  • author — автор
  • date — дата
  • text — содержимое поста

Можно индексировать в любую векторную БД (Chroma, Qdrant и т.д.).