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

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 418
Благодарностей
5 454
Баллы
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 элемента.
 
Категория
Доски объявлений
Номер конкурса шаблонов
Седьмой конкурс шаблонов
Уровень сложности
Средний

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

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

Последнее редактирование:
Регистрация
17.10.2020
Сообщения
41
Благодарностей
4
Баллы
8
Топ! Спасибо, за шаблон. Сильно упрощает работу по выкладывание объявлений в категориях.
 

alex_tal

Client
Регистрация
30.11.2017
Сообщения
47
Благодарностей
5
Баллы
8
А разве Авито разрешает постить такое же объявление если оно снизилось в поиске?
 

Mikhail B.

Client
Регистрация
23.12.2014
Сообщения
14 418
Благодарностей
5 454
Баллы
113
А разве Авито разрешает постить такое же объявление если оно снизилось в поиске?
Нельзя, но есть некрторые хитрости в описании, которые помогут так делать + если брать пакетное размещение, то будет более эффективная работа
 
  • Спасибо
Реакции: alex_tal

alex_tal

Client
Регистрация
30.11.2017
Сообщения
47
Благодарностей
5
Баллы
8

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
ID объявления можно только 1 указать или пачку можно?
 

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