SiteSputnik. Разработка и применение Бот-программ,
SiteSputnik. Боты (Bots) как расширение программы СайтСпутник
Автор
Алексей Мыльников
Дата выхода публикации - 16.05.2019г.     
Последнее изменение - 11.06.2019г.     

искать в интернете, bots Спутник-бот "Поиск в интернете автоматизровать" - бот-программа бот "Спутник", мониторинг, соцсети, бот

СайтСпутник, Спутник Сайт) - программа поиска информации на нескольких языках, многоязычный сбор информации,скачать

SiteSputnik (Site Sputnik) - бот-программная система сбора информации, мониторинг СМИ, на нескольких ботах

Сайт Спутник. Site Sputnik. Мониторинг, программный комплекс бот, упоминание роботов

Спутник. Система. Боты

Спутник. Sputnik. Мониторинг, боты: СМИ, соцсети.

Назначение ботов в программе СайтСпутник
Технология их разработки и применения на "пальцах"


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

Доступно в программе SiteSputnik, начиная с версии 9.7.1 от 16.05.2019.

Выражаю благодарность Дмитрию "MOS" за конструктивный диалог, состоявшийся в процессе разработки данной функции программы.

Пример разработки новой функции своими силами

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

В качестве демонстрационного Проекта возьмем следующий простой Проект:
наблюдение за появлением новых ссылок на трёх первых страницах выдачи Яндекса по запросу: Дмитрий Медведев.

Внешний вид этого Проекта представлен на картинке ниже:

Бот

Технология разработки новой функции СайтСпутника своими силами такова.

Создаём текст Бота (пояснения к нему смотрите ниже) и
помещаем его в пакетный bat-файл с именем, например: "Файлы\Medvedev&Yandex.bat":

chcp 1251>nul
mkdir "C:\NewsMedvedev"
copy "{folder}\Экспорт-новые-txt.txt" "C:\NewsMedvedev"

Пояснение:
1-я строка - это вспомогательная команда для работы с русской кодировкой в bat-файле (это особенность синтаксиса bat-файлов; так надо).
2-я строка - это команда Windows, создающая на диске "C:\" папку "NewsMedvedev" (если папка существует, то эту команду можно опустить).
3-я строка - это команда Windows, копирующая файл "{folder}\Экспорт-новые-txt.txt" в папку "C:\NewsMedvedev".
Параметр {folder} по умолчанию содержит полное имя папки с результатами работы программы СайтСпутник.
Наглядный пример такой папки приведен на картинке ниже:

Бот

  • В коричневую рамочку на картинке обведён файл "Экспорт-новые-txt.txt".
  • Он как раз и содержит список новых ссылок, которые ни разу не были найдены ранее при выполнении данного Проекта.
  • Именно его в третьей строке Бота прописано скопировать в папку "C:\NewsMedvedev".
  • (Все документы, создаваемые СайтСпутником, а их более 60 видов, перечислены на ссылке выдача СайтСпутника.)

    Теперь осталось только вызвать из Проекта этот Бот в тот момент, когда список с новыми ссылками сформирован.

    Для этого:
  • выбираем Бот из меню (большая красная стрелочка на картинке ниже),
  • прописываем ему фактические параметры, если они есть (синяя стрелочка),
  • прописываем ему "Стартовую площадку" - "После открытия всех Источников" (зелёная стрелочка).

  • "Стартовая площадка" определяет как раз тот момент, когда Бот следует выполнить.

    Полный текст Проекта состоит из двух строк и имеет следующий вид:

    Бот

    Не набирайте вручную с клавиатуры имена ботов, названия стартовых площадок, параметры, получающие значения по умолчанию, -
    используйте для этого меню. Руками требуется набирать только фактические значения параметров, если они есть.

    Усовершенствуем Бот.

    Если Бот будет выглядеть так:
    chcp 1251>nul
    mkdir "{AnyDir}"
    copy "{folder}\Экспорт-новые-txt.txt" "{AnyDir}"
    (мы сами ввели в него произвольный параметр, названный {AnyDir} ),

    а обращение к нему в Проекте, например, так:
    Бот

    то мы может применить разные имена папок в разных Проектах, указывая их при обращении к Боту.

    Важно
  • Это был самый простой Бот, на примере которого продемонстрирована технология реализации новой функции СайтСпутника своими силами.
  • В данном крайнем случае обошлось без программирования - достаточно было команд Windows.


  • О назначении ботов - одним абзацем
  • Расширение функциональных возможностей СайтСпутника за счет применения:
        ♦ уже существующего программного обеспечения широкого профиля,
        ♦ новых программ, разработанных специально для СайтСпутника.
  • Привлечение к разработке новых функций СайтСпутника (к разработке ботов):
        ♦ сторонних программистов,
        ♦ продвинутых пользователей.
  • Обеспечение их независимости от разработчика СайтСпутника.
  • Доступность применения ботов, поддерживающих новые функции, обычным Пользователям.


  • Пример новой функции c применением программирования

    В СайтСпутнике, например, нет следующей функции:
    - определение новостей и сообщений, попавших хотя бы в одну Рубрику,
    - оформление из них отдельного файла (полнотекстовой новостной ленты),
    - отправка этой новостной ленты в заданную локальную папку.

    Среди команд Windows и среди множества других готовых программ нет программы, которая умеет делать это.

    "Берём" любой язык программирования, пишем такую программу сами и используем её в Боте.

    В отличии от первого примера - это другой крайний случай, самый сложный, но и самый мощный - запрограммировать можно практически любую обработку информации.

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



    Программа написана на языке программирования Delphi - это "современный Pascal", который часто используется при изучении основ программирования.

    Транслируем программу и exe-модуль помещаем, например, в папку "Exe\Bots" под именем "Bot_NewsFromRubricsOnly.exe".

    Обращение к этому боту (непосредственно к написанной нами программе) из Проекта может быть, например, таким:

    Боты

    Пояснение:
  • Параметр {folder} - это папка с результами работы СайтСпутника, в ней есть файл "Чистый поток.htm" (обведен синей рамочкой на одной из картинок выше),
  • Бот принимает этот файл через первый параметр - смотрите в исходном тексте программы 10-ую строку: "fn:=ParamStr(1)+'\Чистый поток.htm';".
  • Параметр {DeskTop}\Потоки - это папка "Потоки", размещённая на Рабочем столе Вашего компьютера, которую Бот использует для отправки в неё результата своей работы.
  • Стартовая площадка "После формирования всех рубрик и потоков" означает, что вызов бота осуществится в SiteSputnik News после выполнения соответствующих действий.

  • Напоминание: используйте меню при прописке Ботов в Проектах.

    Дополнительные замечания:
  • по описанной выше технологии к СайтСпутнику можно "прикрутить" самые разнообразные программы,
  • важно, чтобы к таким программам можно было обратиться из командной строки,
  • разработка ботов доступна программистам или продвинутым Пользователям, а не только разработчику СайтСпутника,
  • применение Ботов доступно обычным Пользователям.

  • О ботах СайтСпутника - общие положения


    Основные понятия:
  • При выполнении Проектов программа Сайт Спутник может запускать бот-программы.
  • Бот-программы могут быть запущены с нескольких стартовых площадок (см. ниже) СайтСпутника.
  • Они (боты) могут быть запущены как с ожиданием окончания их работы, так и без него.
  • Ботам может быть передана информация, добытая СайтСпутником.
  • Они (Боты) могут переработать информацию и передать её "обратно" в программу.
  • Боты могут поставить "свою" информацию СайтСпутнику.


  • Бот-программа:
  • Боты могут быть созданы как:
        ♦ bat-файлы-с-параметрами,
        ♦ cmd-файлы-с-параметрами,
        ♦ exe-файлы-с-параметрами.
  • В качестве программ, входящих в состав Бота, может быть использован любой исполняемый код, например:
  •     ♦ любые команды операционной системы,
        ♦ любые готовые программы, запускаемые из командной строки,
        ♦ программы на любом языке программирования, разработанные независимыми программистами для СайтСпутника.
  • Никакие API со стороны программы СайтСпутник не используются.
  • Обмен данными между Ботами и СайтСпутником осуществляется через параметры ботов.


  • Параметры ботов по умолчанию:
  • С разных стартовых площадок СайтСпутника, ботам доступны разные параметры.
  • Перечень основных параметров следующий.
  •     ♦ URL - адрес Источника или целевой ссылки, выбираемой из Источника (в зависимости от стартовой площадки).
        ♦ IN - полное имя файла, в котором СайтСпутник сохранил контент Источника, или целевой ссылки из Источника.
        ♦ OUT - по умолчанию получает то же значение что и параметр IN, но используется, как правило, для удобства, для явного указания имени стороннего файла, хотя это можно сделать и через произвольный параметр (см. ниже).
        ♦ Folder - полное имя папки, в которую СайтСпутник складывает добытые результаты (промежуточные и конечные).
            Это очень важный параметр. Из него Бот может получить, а затем обработать и вернуть в СайтСпутник:
            ♦ Списки адресов или сниппетов всех целевых ссылок, полученных при выполнении Проекта.
            ♦ Списки адресов или сниппетов только новых целевых ссылок, только новых сайтов, только новых доменов 3-го уровня.
            ♦ Статистические данные по источникам, рубрикам, доменам.
            ♦ Содержание Рубрик, создаваемых СайтСпутником.
            ♦ Практически любой из 60 документов из выдачи СайтСпутника,
        ♦ Alias - полное имя текущего ящика (папки, в которой выполняется Проект).
        ♦ Box - последнее имя из полного имени текущего ящика.
        ♦ Number - порядковый номер Проекта, выполняемого в текущем ящике.
        ♦ DeskTop - полное имя папки Рабочего стола компьютера.
        ♦ MainDir - полное имя корневой папки программы СайтСпутник.
        ♦ Date - текущая дата.
        ♦ Time - текущее время.
        ♦ Wait=Yes - применяется, если нужно дождаться завершения работы бота, иначе явно примените Wait=No.
        ♦ Quote=Yes - обеспечивает автоматическую расстановку двойных кавычек для фактических значений параметров.
    Если Вы собираетесь расставить кавычки сами, то явно примените Quote=No.

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

  • Один и тот же параметр в тексте Бота может быть применен несколько раз.
  • Параметры по умолчанию могут быть применены при назначении фактических значений параметров,
         (смотрите, например, ниже в демонстрационном примере Проекта: Folder={IN} ).
  • Как уже сообщалось выше: Боты могут изменить полученную через параметры информацию и вернуть её "обратно" в СайтСпутник.


  • Фактические значения параметров:
  • Параметрам ботов можно явно присвоить необходимые фактические (конкретные) значения, например:
  •     ♦ Folder="D:\Рабочая папка\Shop",
        ♦ out="D:\Рабочая папка\Shop\FilName.html"
        ♦ Слово1=2019


    Стартовые площадки для ботов

    Стартовые площадки служат для запуска размещенных на них Ботов.
    В настоящей реализации СайтСпутника их девять.
    Боты могут быть выполнены:
    1. В самом начале работы Проекта,
    2. Перед открытием страницы Источника,
    3. После открытия страницы Источника,
    4. После открытия всех Источников, (эти четыре площадки доступны в SiteSputnik Pro)
    5. Перед рубрикацией и анализом конкретной ссылки,
    6. Во время рубрикации и анализа конкретной ссылки-GoBot:,
      а именно, в моменты выполнения операции:
      GoBOT:<имя и параметры Бот-программы>,
    7. После рубрикации и анализа конкретной ссылки,
    8. После формирования конкретной рубрики,
    9. После формирования всех рубрик и потоков (в самом конце работы Проекта в SiteSputnik News).

    10. Десятая площадка находится за рамками выполнения Проекта (смотрите на картинке ниже по красной стрелочке):

      Бот

      Эта площадка служит для ручного запуска Ботов.

      Важно:
      Выполняя Проект, СайтСпутник последовательно проходит через все страртовые площадки и проверяет их содержание.

    Ещё раз, сделав небольшие добавления, повторим материал, приведённый выше в данной публикации.

    Создание Проектов, использующих Боты

  • Боты, стартующие из выполняющегося Проекта, выбираются и прописываются в нём из меню
        (смотрите по красной стрелочке на картинке ниже).
  • Далее указываются фактические значения параметров Бота: те, которые отличаются от принимаемых по умолчанию
        (смотрите по синей стрелочке).
  • Затем указывается стартовая площадка, с которой начинает работу Бот
        (смотрите по зелёной стрелочке).

  • Бот

    Для ботов, задействованных в операторе GoBOT:, стартовая площадка не указывается.
    Эти боты прописываются в Правилах попадания в Рубрики и могут быть многократно выполнены в процессе Рубрикации (в процессе анализа конкретных целевых ссылок) и повлиять на её результат, в частности, можно полностью запрограммировать свои практически любые условия попадания новости в Рубрику.

  • Боты могут быть прописаны сразу на нескольких площадках.
  • На одной площадке можно прописать несколько ботов - каждый на отдельной строке.
  • В Боте можно вызвать другой Бот.
  • Боты, размещенные на конкретной стартовой площадке, запускаются в момент её достижения СайтСпутником.
  • Боты, запущенные с параметром Wait=Yes, выполняются последовательно.
  • По умолчанию тексты Ботов помещаются в папку Файлы, в приведенном ниже примере они выбраны именно из неё, но размещены Боты могут быть в любой папке.


  • Пример Проекта с несколькими запусками одного и того же Бота

    Берём следующий текст демонстрационного Бота:
    chcp 1251>nul
    mkdir {desktop}\{out}
    copy "{folder}{БэкСлэш}{ИмяФайла}" {desktop}\{out}
    Программы, задействованные в нём, принадлежат к командам Windows. Их две:
    mkdir - создает папку на диске, если она не существует,
    copy  - копирует файл в указанное место (в папку),
    • chcp 1251>nul - вспомогательная команда для работы с русской кодировкой.

    Формальных параметров у Бота пять: {desktop}, {out}, {folder}, {БэкСлэш} и {ИмяФайла}, два из которых используются дважды.
    Параметры {БэкСлэш} и {ИмяФайла} относятся к произвольному виду - "придуманы" нами.
    Текст Бота размещаем в СайтСпутнике в папке Файлы в файле Скопировать на Рабочий стол.bat.

    Используя три разные стартовые площадки и три разных набора фактических параметров, трижды задействуем этот бот в Проекте:
    Медведев и Единая Россия || News=2

    [Скопировать на Рабочий стол.bat] out=Для ссылок ИмяФайла=Экспорт-новые-txt.txt БэкСлэш=\ ^^После открытия всех Источников

    [Скопировать на Рабочий стол.bat] out=Для Рубрик ИмяФайла="Единая Россия.htm" БэкСлэш=\ ^^После формирования всех рубрик и потоков

    Рубрика://Партии/Единая Россия
    (Единая /1 Pоссия | 'ЕР' | 'ЕДРО') (Дмитрий /2 Медведев) GoBOT:Скопировать на Рабочий стол.Bat out=Для GOBOT Folder={IN}
    Цвет используется исключительно для более наглядного восприятия текста Проекта.

    Пояснения к тексту Проекта:

  • В первой строке Проекта задан поиск в новостях по запросу: Медведев и Единая Россия.
  • Вo второй его строке прописан старт Бота с площадки "После открытия всех Источников", то есть, в тот момент, когда СайтСпутник сформирует всю выдачу, создаваемую на этапе поиска и сбора ссылок и сниппетов.
  •      • Явно заданы фактические значения трех параметров:
            • out=Для ссылок
            • ИмяФайла=Экспорт-новые-txt.txt (откуда взялось это "коричневое" имя поясняется ниже)
            • БэкСлэш=\
         • Два параметра получают фактические значения по умолчанию:
            • DeskTop=<имя папки Рабочего стола Компьютера> (допустим это "C:\Users\AB\Desktop")
            • Folder=<имя папки с результатами работы СайтСпутника>(допустим это "D:\AB\FileForFiles\Internet Files\Боты")

    Скрин содержания папки с результатами работы СайтСпутника повторно приведен на картинке ниже (обратите внимание на коричневую стрелочку, показывающую на файл Экспорт-новые-txt.txt, содержащий список адресов только новых ссылок, найденных при текущем выполнении Проекта относительно всех предыдущих его выполнений). Это демонстрация того, как Боту передаётся добываемая СайтСпутником информация:

    Бот

    Заменив формальные параметры на их фактические значения (это сделает СайтСпутник, достигнув данной стартовой площадки), получим Бот:
    chcp 1251>nul
    mkdir "C:\Users\AB\Desktop\Для ссылок"
    copy "D:\AB\FileForFiles\Internet Files\Боты\Экспорт-новые-txt.txt" "C:\Users\AB\Desktop\Для ссылок"
    Этот бот создаст папку "C:\Users\AB\Desktop\Для ссылок" при помощи команды mkdir и скопирует в неё файл "D:\AB\FileForFiles\Internet Files\Боты\Экспорт-новые-txt.txt" при помощи команды copy.
  • В принципе, "Отправка в папку списка адресов только новых ссылок", - это простое программное расширение функциональных возможностей СайтСпутника, которое может быть сделано без участия разработчика и независимо от него.
  • На месте mkdir и copy могут стоять другие готовые программы или программы, написанные независимыми программистами.

  • Бот Из третьей строки Проекта сделает аналогичную работу, но с другими файлами и папками и в другой момент времени. Он отправит содержание Рубрики "Единая Россия" в папку "Для Рубрик", размещённую на Рабочем столе, и сделает это "После формирования всех рубрик и потоков". Отличие этого применения бота от первого применения: в значениях фактических параметров и в стартовой площадке.


  • В пятой строке Проекта прописан многократный вызов этого же бота "Во время рубрикации и анализа ссылок (GoBOT:)".
  • С этой стартовой площадки Бот может быть вызван несколько раз.
  • Он вызывается для тех ссылок, содержание которых удовлетворяет "логическому правилу", в котором участвует Бот.
  • В нашем случае это содержание тех ссылок, в которых одновременно упомянута и "Единая Россия", и "Дмитрий Медведев".
  • Бот скопирует файлы с этим содержанием ссылок в папку "Для GOBOT", размещённую на Рабочем столе.
  • Этот Бот размещён в правиле динамической Рубрики, имя которой набрано в четвертой строке Проекта.


  • Практический совет:

    Открыть папку, содержащую основные результаты работы программы СайтСпутник, можно так:
      - Встаньте на какую-нибудь строку нижней таблички в окне СайтСпутника,
      - нажмите на правую кнопку мышки,
      - выберите пункт "Открыть папку файла".
    Скрин такой папки приведен выше.

    В принципе,
    с информацией, попадающей в выдачу СайтСпутника, Вы можете сделать всё, что сумеете сами, или что умеет сделать с ней стороннее программное обеспечение.


    Скачать боты, перечень ботов
    Скачать боты можно со ссылки - архив ботов.

  • 16.05.2019 - Bot_NewsFromRubricsOnly - Бот-программа, описанная в данной публикации выше, - определение новостей и сообщений, попавших хотя бы в одну Рубрику, оформление из них отдельного файла (полнотекстовой новостной ленты), отправка этой новостной ленты в заданную локальную папку
  • 28.05.2019 - Bot_InsertContentURL - Бот-программа для вставки содержания дочерней ссылки в родительскую
  • 01.06.2019 - Bot_SentencesWithKeyWords - Бот-программа - избранное из Рубрик
  • 11.06.2019 - Bot_SearchInPageRange - Бот-программа - Поиск и сбор информации, начиная не с 1-ой поисковой страницы Источника

  • Список литературы
    Обсуждение ботов - на форуме.

    Адрес главной страницы сайта - О программе СайтСпутник.

    Полный список публикаций по программе собран на этой странице.

    Copyright © 2003-2019 ИП Мыльников Алексей Борисович. Все права защищены. E-mail: 1a@sitesputnik.ru, +7(8442) 73 71 23, +7(905) 3 92 97 92