# Парсеры автомобильных форумов для 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 - ~500+ статей по ремонту VAG - Sitemap: https://vwts.ru/sitemap.xml ## Разделы форума (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 # главный цикл обхода ``` ### Запуск ```bash 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: ```json { "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 и т.д.).