[avito.ru] Отслеживание позиции собственных обявлений для запуска постинга (без постера)

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 449
Реакции
5 477
Баллы
113
Отслеживание позиции собственных объявлений для запуска постинга

Цель шаблона это поддерживать объявления в топе авито путем автоматической публикации после снижения позиции указанной в настройках проекта. (постер в комплект не входит)

Делал проект на заказ, но увы заказчику он не пригодился. По этому было решено поделится трудами с сообществом.

Давайте рассмотрим основные настройки проекта
1.jpg


Ссылка на категорию - ссылка по которой проверяем позицию нашего объявления на первой странице
ID Объявления -

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

Интервал проверки - не играет практически никакой роли. Сомневаюсь, что 30-60 сек сыграют кому-то погоду.

Публиковать если объявление спустилось ниже (*) позиции - главная настройка, ради которой и писался данный шаблон. Допустим мы хотим быть в топе 1, в топе 10 и т.д. мы указываем этот топ в виде числового значения. На скрине 17, значит когда объявление будет на 18 позиции, то будет запущен постинг.

Не учитывать объявления с примененными услугами х2 х5 х10 - это достаточно интересная настройка и она оказалась самой сложной в реализации. Суть в том, что у нас есть и простые объявления и продвинутые за оплату. Такие продвинутые объявления всегда будут выше чем бесплатные. По этому если у нас очень конкурентная категория, то смыла учитывать эти объявления попросту нету. Может быть так, что с бесплатным объявлением вы займете 30-ую позицию и она будет максимально возможной для данной категории. По этому я ввел данную настройку, которая бы исключала платные объявления и ориентировалась на топ исключительно на бесплатных объявлениях.


Теперь давайте подробнее рассмотрим проект

Определение позиции

Для работы используем JSON любезно предоставленный авито. Что бы определить позицию объявления нам необходимо найти его ID в переменных.
C#:
Развернуть Свернуть Копировать
{-Json.catalog.items[1].id-}

[1] - номер позиции хоть и условно.

Далее создаем счетчик который будет прибавлять по одному значению и прописываем его в переменную
C#:
Развернуть Свернуть Копировать
{-Json.catalog.items[{-Variable.COUNT_JSON-}].id-}

Далее когда находим нужное объявление, то просто прогоняем номер в IF, где он сравнивает позицию в настройках с текущей позицией.
C#:
Развернуть Свернуть Копировать
{-Variable.POSITION_LIMIT-}<{-Variable.COUNT_JSON-}

В целом тут логика простейшая и не требует каких-то дополнительных пояснений.


Исключаем платные объявления

Теперь нам нужно найти продвинутые, т.е. поднятые в поиске за оплату, что бы исключить их. За данный вид услуги ответственны два пункта в JSON.
C#:
Развернуть Свернуть Копировать
{-Json.catalog.items[8].iva.DateInfoStep[1].payload.vas[0].title-}
{-Json.catalog.items[9].items[0].iva.VASStep[0].payload.vas[0].title-}

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

22.jpg


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


Запуск проекта

Как я уже выше сказал постера нету в данной статье.

Для запуска постера за основу взята стятья DmitryAk, за что ему огромное спасибо!
Сама статья https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/

Если вы планируете использовать свой постер, то вам необходимо изменить название проекта на свое в кубиках C#
33.jpg


___
В заключении скажу что использования JSON cуществено облегчает работу с такими сайтами как авито. Где основная цель это сбор информации. И как оказалось он не так уж и сложен, как может показаться на первый взгляд. Лучше уж потратить час на понимание его принципов. Чем городить регулярки в html коде и менять их каждый раз когда сайт меняет класс или id элемента.
 
Номер конкурса шаблонов
  1. Седьмой конкурс шаблонов
Уровень сложности
Средний
Категория
  1. Доски объявлений

Вложения

Последнее редактирование:
Топ! Спасибо, за шаблон. Сильно упрощает работу по выкладывание объявлений в категориях.
 
А разве Авито разрешает постить такое же объявление если оно снизилось в поиске?
 
А разве Авито разрешает постить такое же объявление если оно снизилось в поиске?
Нельзя, но есть некрторые хитрости в описании, которые помогут так делать + если брать пакетное размещение, то будет более эффективная работа
 
  • Спасибо
Реакции: alex_tal
ID объявления можно только 1 указать или пачку можно?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)