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

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

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

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

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

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

Главная страница сайта о программе СайтСпутник.

(!) Содержание данной публикации ориентировано на программистов или очень продвинутых Пользователей.

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


О назначении ботов - одним предложением

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

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

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

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

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

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

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

Бот

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

Создаём текст Бота (пояснения к нему смотрите ниже):

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

и помещаем его в пакетный bat-файл с именем, например: "Файлы\Medvedev&Yandex.bat".

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

Боты парсинг сайтов

  • В коричневой рамочке находится файл "Экспорт-новые-txt.txt".
  • В нём - список новых ссылок, которые ни разу не были найдены ранее при выполнении данного Проекта.
  • Именно его в третьей строке Бота прописано скопировать в папку "C:\NewsMedvedev".
  • (Cоздаваемые программой документы, а их более 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}\Потоки - это папка "Потоки", размещённая на Рабочем столе Вашего компьютера, которую Бот использует для отправки в неё результата своей работы.
  • Стартовая площадка "После формирования всех рубрик и потоков" означает, что вызов бота осуществится тогда, когда Рубрики и Потоки будут сформированы.

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

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

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


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


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


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

  • Новые параметры, добавленные в версии 9.8.2.4:
  •     ♦ PID - идентификатор процесса программы Site Sputnik, которая произвела старт Бота.
        ♦ fname - полное имя файла, в котором сохранен как есть (без упрощения) контент Источника или целевой ссылки из Источника.
        ♦ SubNumber - порядковый номер формируемого файла выдачи в Проекте с номером Number.
        ♦ file - также используется для удобства: для явного указания имени стороннего файла для Бота.
        ♦ AddRow - создание и имя строки в нижней Таблице Ящика Проекта для ссылки на файл, созданный Ботом.
        ♦ Глобальные переменные (!) - реализован механизм передачи Боту значений глобальных переменных СайтСпутника и приёма изменённых Ботом значений "обратно" в СайтСпутник (это тема отдельной публикации для программистов, по сути это вмешательство в вычислительный процесс из-вне, требующий специальных знаний).
        ♦ Произвольный параметр - одно произвольное слово, взятое в фигурные скобки, - по умолчанию получает пустое значение.

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


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

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

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

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

      Бот

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

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

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

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

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

  • Бот

    Для ботов, задействованных в операторе 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-2024 ИП Мыльников Алексей Борисович. Все права защищены. E-mail: 1a@sitesputnik.ru, +7(8442) 73 71 23, +7(905) 3 92 97 92