Skip to content

🏠 АвтоматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ нСдвиТимости с ИИ-Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ | ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Avito ΠΈ ЦИАН | Telegram-Π±ΠΎΡ‚ | Docker | Deno

License

Notifications You must be signed in to change notification settings

zxcnoname666/House-Research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Houseβ€―Research β€”Β AI‑powered real‑estate monitor

GitHub stars GitHub forks GitHub issues GitHub last commit License: MIT

Houseβ€―Research β€” комплСксная систСма, которая автоматичСски πŸ“‘ собираСт объявлСния о нСдвиТимости, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ…Β ΡΒ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ 🧠 ИИ ΠΈΒ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ красочныС сводки Π²Β Telegram. Π­ΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ часы Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ интСрСсныС прСдлоТСния!


✨ Π§Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

πŸš€ Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ОписаниС
πŸ”„ ΠœΡƒΠ»ΡŒΡ‚ΠΈβ€‘ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ Avito (HTML‑парсСр avito-parserΒ πŸ”—Β Π²Π΅Ρ‚ΠΊΠ°) + Π¦ΠΈΠ°Π½ (Π½Π΅ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ API).
πŸ€– Π˜Π˜β€‘ΠΎΡ†Π΅Π½ΠΊΠ° ГСнСрация Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Π° Β«Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΒ /Β ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π°Ρ‚Π°Β» с учётом Ρ†Π΅Π½Ρ‹, инфраструктуры ΠΈΒ Ρ„ΠΎΡ‚ΠΎ.
πŸ›« Быстрый запуск Docker‑композ для ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π° ΠΈΒ Deno‑tasks для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
🚏 Вранспорт + ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Поиск Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… остановок и доступных интСрнСт‑опСраторов.
πŸ–ΌοΈ КоллаТ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π‘ΠΊΠ»Π΅ΠΉΠΊΠ° Ρ„ΠΎΡ‚ΠΎ объявлСния Π²Β Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ»Π»Π°ΠΆ.
πŸ“¬ ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π²Β Telegram Π€ΠΎΡ‚ΠΎβ€‘Π°Π»ΡŒΠ±ΠΎΠΌ βž• HTML‑сообщСниС, распрСдСлСниС ΠΏΠΎΒ Ρ‚Π΅ΠΌΠ°ΠΌ Ρ‡Π°Ρ‚Π°.
🐳 DockerΒ Ready Π“ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ (ghcr.io) для дСплоя на сСрвСрС ΠΈΠ»ΠΈ VPS.

πŸ—ΊοΈ АрхитСктура

graph LR
    subgraph Parsers
        AV[AvitoΒ Parser] -->|HTML| KV[(Deno KV)]
        CI[CiANΒ Searcher] -->|JSON| KV
    end
    KV --> WF[Workflow Engine 🎯]
    WF --> AI[Gemini/OpenAI πŸ€–]
    WF --> TG[Telegram Bot βœ‰οΈ]
Loading

πŸ” Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚

AvitoΒ Parser

  • ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° avito-parser содСрТит самодостаточный скрипт Π½Π°Β Deno.
  • Π Π°Π· в час πŸ• (Ρ‡Π΅Ρ€Π΅Π· Deno.cron) ΠΎΠ½ ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска Avito и сохраняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π»ΠΎΡ‚ Π²Β export/*.html.
  • HTML Π·Π°Ρ‚Π΅ΠΌ читаСтся основным Π΄Π²ΠΈΠΆΠΊΠΎΠΌ для извлСчСния характСристик ΠΈΒ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΠΉ Ρ€Ρ‹Π½ΠΊΠ°.

Π¦ΠΈΠ°Π½Β Searcher

  • Для доступа ΠΊΒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΌΡƒ поиску Π¦ΠΈΠ°Π½ трСбуСтся ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ Π°Π³Π΅Π½Ρ‚Π°. Π—Π°Π»ΠΎΠ³ΠΈΠ½ΡŒΡ‚Π΅ΡΡŒ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ в поиск и скопируйтС всС cookie запросов ΠΊ Ρ†ΠΈΠ°Π½Ρƒ β€” помСститС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Β CIAN_SEARCH_COOKIE.
  • ΠŸΠ°Ρ€ΡΠ΅Ρ€ Π±Π΅Ρ€Ρ‘Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈΠ·Β .yaml‑конфигов, добавляСт cookie ΠΈΒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ JSON со всСми объявлСниями.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… APIβ€‘ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ OpenRouter, Gemini, Nvidia, etc.. Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ:

OPENROUTER_API_KEY=key_one,key_two,key_three
GEMINI_API_KEY=gk1,gk2

ΠŸΡ€ΠΈ достиТСнии Π΄Π½Π΅Π²Π½ΠΎΠ³ΠΎ Π»ΠΈΠΌΠΈΡ‚Π° ⚑️ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° автоматичСски ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ Π½Π°Β ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½.


πŸš€ Быстрый старт (DockerΒ Compose)

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°: основной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ + AvitoΒ Parser.

version: "3.9"
services:
  house-research:
    image: ghcr.io/zxcnoname666/house-research:latest
    container_name: house-research
    restart: always
    volumes:
      - ./kv:/app/kv           # DenoΒ KV (SQLite)
      - ./conf:/app/conf       # конфигурация YAML
      - ./avito-export:/avito-export # HTML объявлСний
    env_file:
      - .env

  avito-parser:
    image: ghcr.io/zxcnoname666/avito-parser:latest
    container_name: avito-parser
    restart: always
    volumes:
      - ./avito-export:/app/export
    environment:
      AVITO_URL: "https://www.avito.ru/..."  # ваш Ρ„ΠΈΠ»ΡŒΡ‚Ρ€
$ docker compose up -d

Подсказка: создайтС .env на основС .env.example ΠΈΒ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Telegram, OpenRouter/Gemini, RapidAPI ΠΈΒ cookie Циан‑агСнта.


πŸ§‘β€πŸ’» Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

# ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ
$ git clone https://github.com/zxcnoname666/House-Research.git
$ cd House-Research

# Установка зависимостСй (JSR + Deno)
$ deno task install

# Dev‑рСТим с горячСй ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ
$ deno task dev --unstable

Для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Avito Parser:

$ git checkout avito-parser
$ deno run -A src/main.ts

βš™οΈ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния (основноС)

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ОписаниС
BOT_TOKEN βœ… Π’ΠΎΠΊΠ΅Π½ Telegram‑бота.
TELEGRAM_CHAT_ID βœ… ID Ρ‡Π°Ρ‚Π°/ΠΊΠ°Π½Π°Π»Π° для ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
AVITO_URL βœ… URL поиска Avito (с парамСтрами Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°).
CIAN_SEARCH_COOKIE βœ… Cookie Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ профиля Π°Π³Π΅Π½Ρ‚Π° Π¦ΠΈΠ°Π½.
OPENROUTER_API_KEY ❌ Один ΠΈΠ»ΠΈ нСсколько ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.
GEMINI_API_KEY ❌ Аналогично, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список β€” Π²Β .env.example.


🀝 Как внСсти Π²ΠΊΠ»Π°Π΄

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ issueΒ πŸ“Œ с описаниСм Π±Π°Π³Π° ΠΈΠ»ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ.
  2. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ fork β†’ feature/my‑awesome‑feature.
  3. ΠžΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ PR с чётким описаниСм.
  4. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ πŸ‘Β Ρ€Π΅Π²ΡŒΡŽ ΠΈΒ πŸš€Β merge!

πŸ“ ЛицСнзия

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свободно ΠΈΒ Π½Π΅Β Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ⭐!


About

🏠 АвтоматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ нСдвиТимости с ИИ-Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ | ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Avito ΠΈ ЦИАН | Telegram-Π±ΠΎΡ‚ | Docker | Deno

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •