SiteSputnik. Боты (Bots) как расширение программы СайтСпутник |
Главная страница сайта о программе СайтСпутник.
(!) Содержание данной публикации ориентировано на программистов или очень продвинутых Пользователей.
Назначение ботов в программе "СайтСпутник"
Технология их разработки и применения на "пальцах"
О назначении ботов - одним предложением
Реализация новых функкциональных возможностей программы СайтСпутник -
самостоятельно, независимо от разработчика программы.
Доступно в программе Site Sputnik, начиная с версии 9.7.1 от 16.05.2019.
Выражаю благодарность Дмитрию "MOS" за конструктивный диалог, состоявшийся в процессе разработки данной функции программы.
Простой пример разработки новой функции своими силами
В СайтСпутнике, например, нет следующей функции:
отправка адресов новых ссылок, найденных при очередном выполнении Проекта, в заданную папку.
В качестве демонстрационного Проекта возьмем следующий простой Проект:
наблюдение за появлением новых ссылок на трёх первых страницах выдачи Яндекса по запросу: Дмитрий Медведев.
Внешний вид этого Проекта представлен на картинке ниже:
![]()
Технология разработки новой функции Сайт Спутника своими силами такова.
Создаём текст Бота (пояснения к нему смотрите ниже):
и помещаем его в пакетный 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 штук, перечислены на ссылке: Вся выдача Сайт Спутника.)
Теперь осталось только вызвать из Проекта этот Бот в тот момент, когда список с новыми ссылками сформирован.
Для этого:выбираем Бот из меню (большая красная стрелочка на картинке ниже), результат выбора - сгенерированный текст (маленькая красная стрелочка), прописываем Боту (синяя стрелочка) фактические параметры, если они есть (здесь их нет), прописываем Боту (зелёная стрелка) "Стартовую площадку" - "После открытия всех Источников".
"Стартовая площадка" определяет как раз тот момент, когда Бот следует выполнить.
Можно было использовать и площадку "В самом конце работы Проекта".
Полный текст Проекта состоит из двух строк и имеет следующий вид:
![]()
Не набирайте вручную с клавиатуры:
♦ имена ботов, ♦ названия стартовых площадок, ♦ параметры, получающие значения по умолчанию, -
используйте для этого меню. Руками требуется набирать только фактические значения параметров, если они есть.
В данном случае мы ничего руками не набирали.
Усовершенствуем Бот.
Если Бот будет выглядеть так:
(мы сами ввели в него произвольный параметр, названный {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 - 4, 10 площадки доступны для любой комплектации Site Sputnik)
- Перед рубрикацией и анализом конкретной ссылки,
- Во время рубрикации и анализа конкретной ссылки-GoBot:,
а именно, в моменты выполнения операции:
GoBOT:<имя и параметры Бот-программы>,
- После рубрикации и анализа конкретной ссылки,
- После формирования конкретной рубрики,
- После формирования всех рубрик и потоков (5-9 площадки доступны в Site Sputnik News и выше),
- В самом конце работы Проекта.
- Одиннадцатая площадка находится за рамками выполнения Проекта (смотрите на картинке ниже по красной стрелочке):
![]()
Эта площадка служит для ручного запуска Ботов.
Важно:
♦ Выполняя Проект, Сайт Спутник последовательно проходит через все стартовые площадки, проверяет их содержание и стартует Боты, если они на ней есть.
♦ Некоторые площадки он проходит неоднократно, например, если в Проекте задействованы 5 Рубрик, то "После формирования конкретной рубрики" будет пройдена 5 раз.
Создание Проектов, использующих Боты
Боты, стартующие из выполняющегося Проекта, выбираются и прописываются в нём из меню
(смотрите по красной стрелочке на картинке ниже).Далее указываются фактические значения параметров Бота: те, которые отличаются от принимаемых по умолчанию
(смотрите по синей стрелочке).Затем указывается стартовая площадка, с которой начинает работу Бот
(смотрите по зелёной стрелочке).
![]()
Для ботов, задействованных в операторе GoBOT:, стартовая площадка не указывается.
Эти боты прописываются в Правилах попадания в Рубрики.
Они могут быть многократно выполнены в процессе Рубрикации и повлиять на её результат, в частности, можно полностью запрограммировать свои практически любые условия попадания новости в Рубрику.
Боты могут быть прописаны сразу на нескольких площадках. На одной площадке можно прописать несколько ботов - каждый на отдельной строке. В Боте можно вызвать другой Бот. Боты, размещенные на конкретной стартовой площадке, запускаются в момент её достижения Сайт Спутником. Боты, запущенные с параметром Wait=Yes, выполняются последовательно. По умолчанию тексты Ботов помещаются в папку Файлы, в приведенном ниже примере они выбраны именно из неё, но размещены Боты могут быть в любой папке.
Пример Проекта с несколькими запусками одного и того же Бота
Берём следующий текст демонстрационного Бота:Скачать боты, перечень ботов
Программы, задействованные в нём, принадлежат к командам Windows. Их две:
• mkdir - создает папку на диске, если она не существует,
• copy - копирует файл в указанное место (в папку),
• chcp 1251>nul - вспомогательная команда для работы с русской кодировкой.
Формальных параметров у Бота пять: {desktop}, {out}, {folder}, {БэкСлэш} и {ИмяФайла}, два из которых используются дважды.
Параметры {БэкСлэш} и {ИмяФайла} относятся к произвольному виду - "придуманы" нами.
Текст Бота размещаем в Сайт Спутнике в папке Файлы в файле Скопировать на Рабочий стол.bat.
Используя три разные стартовые площадки и три разных набора фактических параметров, трижды задействуем этот бот в Проекте (пояснения ниже): Цвет используется исключительно для более наглядного восприятия текста Проекта.
Пояснения к тексту Проекта:
В первой строке Проекта задан поиск в новостях по запросу: Медведев и Единая Россия. Вo второй его строке прописан старт Бота с площадки "После открытия всех Источников", то есть, в тот момент, когда Сайт Спутник сформирует всю выдачу, создаваемую на этапе поиска и сбора ссылок и сниппетов. • Явно заданы фактические значения трех параметров:
• out=ДляСсылок
• ИмяФайла=Экспорт-новые-txt.txt (откуда взялось это "коричневое" имя поясняется ниже)
• БэкСлэш=\
• Два параметра получают фактические значения по умолчанию:
• DeskTop=<имя папки Рабочего стола Компьютера> (допустим это "C:\Users\AB\Desktop")
• Folder=<имя папки с результатами работы Сайт Спутника>(допустим это "D:\AB\FileForFiles\Internet Files\Боты")
Скрин содержания папки с результатами работы Сайт Спутника повторно приведен на картинке ниже (обратите внимание на коричневую стрелочку, показывающую на файл Экспорт-новые-txt.txt, содержащий список адресов только новых ссылок, найденных при текущем выполнении Проекта относительно всех предыдущих его выполнений). Это демонстрация того, как Боту передаётся добываемая Сайт Спутником информация:
Заменив формальные параметры на их фактические значения (это сделает Сайт Спутник, достигнув данной стартовой площадки), получим Бот:Этот бот создаст папку "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-ой поисковой страницы Источника
Обсуждение ботов - на форуме.
Адрес главной страницы сайта - О программе Сайт Спутник.
Полный список публикаций по программе собран на этой странице.