- Регистрация
- 23.12.2014
- Сообщения
- 14 418
- Благодарностей
- 5 454
- Баллы
- 113
Отслеживание позиции собственных объявлений для запуска постинга
Цель шаблона это поддерживать объявления в топе авито путем автоматической публикации после снижения позиции указанной в настройках проекта. (постер в комплект не входит)
Делал проект на заказ, но увы заказчику он не пригодился. По этому было решено поделится трудами с сообществом.
Давайте рассмотрим основные настройки проекта
Ссылка на категорию - ссылка по которой проверяем позицию нашего объявления на первой странице
ID Объявления -
Публиковать если объявление отсутствует на первой странице - если объявление ушло на вторую страницу, то будет автоматический запуск постера. А может оно не прошло модерацию и не появилось на первой странице, то тоже будет является сигналом к постингу.
Интервал проверки - не играет практически никакой роли. Сомневаюсь, что 30-60 сек сыграют кому-то погоду.
Публиковать если объявление спустилось ниже (*) позиции - главная настройка, ради которой и писался данный шаблон. Допустим мы хотим быть в топе 1, в топе 10 и т.д. мы указываем этот топ в виде числового значения. На скрине 17, значит когда объявление будет на 18 позиции, то будет запущен постинг.
Не учитывать объявления с примененными услугами х2 х5 х10 - это достаточно интересная настройка и она оказалась самой сложной в реализации. Суть в том, что у нас есть и простые объявления и продвинутые за оплату. Такие продвинутые объявления всегда будут выше чем бесплатные. По этому если у нас очень конкурентная категория, то смыла учитывать эти объявления попросту нету. Может быть так, что с бесплатным объявлением вы займете 30-ую позицию и она будет максимально возможной для данной категории. По этому я ввел данную настройку, которая бы исключала платные объявления и ориентировалась на топ исключительно на бесплатных объявлениях.
Теперь давайте подробнее рассмотрим проект
Определение позиции
Для работы используем JSON любезно предоставленный авито. Что бы определить позицию объявления нам необходимо найти его ID в переменных.
[1] - номер позиции хоть и условно.
Далее создаем счетчик который будет прибавлять по одному значению и прописываем его в переменную
Далее когда находим нужное объявление, то просто прогоняем номер в IF, где он сравнивает позицию в настройках с текущей позицией.
В целом тут логика простейшая и не требует каких-то дополнительных пояснений.
Исключаем платные объявления
Теперь нам нужно найти продвинутые, т.е. поднятые в поиске за оплату, что бы исключить их. За данный вид услуги ответственны два пункта в JSON.
Подставляя номер позиции мы получаем информацию о количестве продвинутых объявлений.
Полученное кол-во продвинутых мы отнимаем от реальной позиции. Тем самым получаем позицию без учета продвинутых.
Запуск проекта
Как я уже выше сказал постера нету в данной статье.
Для запуска постера за основу взята стятья DmitryAk, за что ему огромное спасибо!
Сама статья https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/
Если вы планируете использовать свой постер, то вам необходимо изменить название проекта на свое в кубиках C#
___
В заключении скажу что использования JSON cуществено облегчает работу с такими сайтами как авито. Где основная цель это сбор информации. И как оказалось он не так уж и сложен, как может показаться на первый взгляд. Лучше уж потратить час на понимание его принципов. Чем городить регулярки в html коде и менять их каждый раз когда сайт меняет класс или id элемента.
Цель шаблона это поддерживать объявления в топе авито путем автоматической публикации после снижения позиции указанной в настройках проекта. (постер в комплект не входит)
Делал проект на заказ, но увы заказчику он не пригодился. По этому было решено поделится трудами с сообществом.
Давайте рассмотрим основные настройки проекта
Ссылка на категорию - ссылка по которой проверяем позицию нашего объявления на первой странице
ID Объявления -
Публиковать если объявление отсутствует на первой странице - если объявление ушло на вторую страницу, то будет автоматический запуск постера. А может оно не прошло модерацию и не появилось на первой странице, то тоже будет является сигналом к постингу.
Интервал проверки - не играет практически никакой роли. Сомневаюсь, что 30-60 сек сыграют кому-то погоду.
Публиковать если объявление спустилось ниже (*) позиции - главная настройка, ради которой и писался данный шаблон. Допустим мы хотим быть в топе 1, в топе 10 и т.д. мы указываем этот топ в виде числового значения. На скрине 17, значит когда объявление будет на 18 позиции, то будет запущен постинг.
Не учитывать объявления с примененными услугами х2 х5 х10 - это достаточно интересная настройка и она оказалась самой сложной в реализации. Суть в том, что у нас есть и простые объявления и продвинутые за оплату. Такие продвинутые объявления всегда будут выше чем бесплатные. По этому если у нас очень конкурентная категория, то смыла учитывать эти объявления попросту нету. Может быть так, что с бесплатным объявлением вы займете 30-ую позицию и она будет максимально возможной для данной категории. По этому я ввел данную настройку, которая бы исключала платные объявления и ориентировалась на топ исключительно на бесплатных объявлениях.
Теперь давайте подробнее рассмотрим проект
Определение позиции
Для работы используем JSON любезно предоставленный авито. Что бы определить позицию объявления нам необходимо найти его ID в переменных.
C#:
{-Json.catalog.items[1].id-}
Далее создаем счетчик который будет прибавлять по одному значению и прописываем его в переменную
C#:
{-Json.catalog.items[{-Variable.COUNT_JSON-}].id-}
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-}
Полученное кол-во продвинутых мы отнимаем от реальной позиции. Тем самым получаем позицию без учета продвинутых.
Запуск проекта
Как я уже выше сказал постера нету в данной статье.
Для запуска постера за основу взята стятья DmitryAk, за что ему огромное спасибо!
Сама статья https://zennolab.com/discussion/threads/upravlenie-shablonom-c.54713/
Если вы планируете использовать свой постер, то вам необходимо изменить название проекта на свое в кубиках C#
___
В заключении скажу что использования JSON cуществено облегчает работу с такими сайтами как авито. Где основная цель это сбор информации. И как оказалось он не так уж и сложен, как может показаться на первый взгляд. Лучше уж потратить час на понимание его принципов. Чем городить регулярки в html коде и менять их каждый раз когда сайт меняет класс или id элемента.
- Категория
- Доски объявлений
- Номер конкурса шаблонов
- Седьмой конкурс шаблонов
- Уровень сложности
- Средний
Вложения
-
316,8 КБ Просмотры: 311
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: