Автоматизация бизнес процессов, чат-боты, парсинг, 2D игры

Иван Афанасьев afanasev.info

Top 10
Рейтинг: 16 368
Паспорт верифицирован
Всего отзывов: 47 0
Профессионализм: 10 Коммуникация: 10
Выполнил заданий: 98
  • Надежность: Использовал: Работал по Безопасной сделке
  • Активность:
  • Работ в портфолио: 8
  • Типовых услуг: 6
  • Работ на продажу: 0
  • Образование: Бакалавриат
  • Стаж работы: 8 лет
  • Тип занятости: Полный фриланс
  • Юридический статус:Самозанятый
Был на сайте:

Telegram-bot для поиска объявлений Avito, которых нет на Циан

Используемые навыки:

Описание

Клиент заметил, что многие продавцы размещают свои объявления только на одной из двух крупнейших площадок — Avito. При этом на Циан, который считается более профессиональной платформой для недвижимости, эти же объекты могут не попадать. Это создает «слепую зону» и позволяет упускать потенциально выгодные лоты с менее высокой конкуренцией.

Клиент поставил задачу разработать инструмент, который автоматически находил бы объявления о продаже квартир на Avito, которые отсутствуют на Циан.

Решение

Модуль Avito (Puppeteer + Динамические Прокси):

Для эмуляции реального поведения пользователя и обхода анти-бот систем Avito использовался Puppeteer. Он позволяет управлять полноценным браузером Chrome, загружая JavaScript и рендеря страницу так же, как это делает обычный пользователь.

Для исключения блокировок по IP-адресу была интегрирована система динамических прокси. Перед каждым циклом парсинга система запрашивает свежий IP-адрес из пула прокси, что делает трафик неотличимым от трафика разных реальных пользователей.

Алгоритм включал навигацию по списку объявлений, извлечение данных и "переход" по страницам.

Модуль Циан (Fetch + Динамические Прокси):

Для Циан оказалось достаточно использования функции fetch для выполнения HTTP-запросов, так как необходимая информация доступна без полного рендеринга JS на стороне клиента.

Однако, для защиты от блокировок, также была применена система динамических прокси. Каждый запрос к Циан выполнялся с нового IP-адреса.

Система формировала поисковый URL на основе параметров объявления с Avito и анализировала ответ на наличие совпадений.

Разработка Ядра Логики Сравнения:

Каждое новое объявление, полученное с Avito, сохранялось в БД.

Для него запускался процесс "верификации" на Циан. Система искала объявления с похожей ценой (в диапазоне ±10%), площадью и расположением в том же районе/улице.

Результат

Успешный парсинг сложных платформ: Комбинация Puppeteer для Avito и fetch для Циан показала наилучшее соотношение эффективности и скорости.

Стабильность работы: Использование динамических прокси свело к минимуму количество блокировок, обеспечив непрерывный сбор данных.

Производительность: Асинхронная природа Node.js позволила параллельно обрабатывать десятки объявлений, значительно ускорив общий цикл "поиск-верификация-уведомление".

Надежное хранение: PostgreSQL надежно хранит историю данных, что позволяет проводить анализ и избегать повторных уведомлений об одних и тех же объявлениях.

Ссылки на примеры реализации

 t.me/afanasev95

Презентация проекта

image (4).png

Оценили проект:

0