Главное Свежее Вакансии Образование
105 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Вводная статья как пользоваться ботами

В предыдущей статье мы рассказали чутка про ботов. Теперь давайте сделаем что-то полезное с этим всем делом. Самый банальный вариант, который можно предложить, это зайти на сайт и сохранить какую-либо страницу. Если страница простая, можно конечно использовать консольные утилиты или селениум, но мы возьмём наших ботов, так как нам нужно написать написать только 1 раз код, а дальше он будет сохранён и можно перезапускать его по расписанию или вручную не заботясь о том, где это будет работать и куда сохранять результаты.

В качестве примера рассмотрим достаточно простой вариант: вы хотите купить мотоцикл, который вам очень нравится, но вы ждёте снижения цены и хотите получить сообщение, если цена окажется ниже определённого значения

#!/bin/bash

#инклудим различные вспомогательные функции

source ./help_scripts/var_functions.sh

source ./help_scripts/bot_bot.sh

gen_bot_js start

goto_url "https://auto.ru/mototsikly/used/sale/yamaha/fz1/2710846-00d83fc9/"

save_page_in_html

gen_bot_js end

start_bot vk_bot.js

#тут определяем время работы работы. В параметре указывается максимальное время, после которого

#браузер можно убить. Так же в этом скрипте определяются дополнительный обработки, которые могут потребоваться в процессе работы

for j in `seq 1 56`

do

sleep 1

is_run=`is_process_run firefox`

if [ $is_run -eq 0 ]

then

break

fi

done

#тут у нас идёт постобработка полученных данных, запись в базу данных, отправка в телеграм или сохранение на внешний сервер

price=`cat /tmp/page.htm | tr '>' '\n' | grep -m 1 -A 1 "card__price-rurcard__price-rur_dropdown" | tail -n 1 | gawk -F'&' '{print $1}' | sed -e 's/ //g'`

if [ $price < 400000 ]

then

send_message_telegramm “цена снижена!” $chat_id $bot_id

fi

#не забываем проставлять, что задача сделана, а то валидатор не пропустит

job_done DONE

после написания скрипты, мы ставим его в на исполнение следующей командой

#!/bin/bash

echo '{

"projectId": "4195574",

"promotions": [

{

"query": "",

"url": "",

"quantity": 1,

"promoType": 131,

"text": "'`cat /tmp/script.sh | base64 | tr '\n' ' '`'"

}

]

}' > /tmp/bj

curl -X POST -v -H "Content-Type: application/json" -H "X-SERVICE-KEY:dsfsfds7" "https://api.trafficstore.com/promotion/add" -d @/tmp/bj

В данном примере задача выполнится один раз, но это нам не интересно, поэтому мы можем воспользоваться временными рамками при постановке задачи, а так же поиграться с количество. Тем самым мы сможет допустим 3 раза в день проверять в течение месяца цену на мотоцикл. Если цена окажется ниже 400к, то нам придёт сообщение.

Но это ооочень малая часть мониторинга, вот что можно ещё мониторить

  • цены у конкурентов
  • новости конкурентов
  • группы в социальных сетях
  • работоспособность сервиса
  • котировки валют

Данный пример хоть и примитивный, но позволяет понять всю мощь предлагаемого решения.

В следующих статьях мы рассмотрим такие примеры:

  • работа с социальными сетями
  • сохранение и получение данных через api
  • общий функционал ботов, операционной системы и скриптов
  • функциональный набор, для написания скриптов и возможности расширения
  • передача параметров при постановке задачи
0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.