Версия для печати
- Форум Сообщества Практиков Конкурентной разведки (СПКР) http://forum.razved.info/
-- Приемы работы с программой СайтСпутник (SiteSputnik) http://forum.razved.info//index.php?f=38
--- Конвертация выдачи в формат JSON, её отправка на API http://forum.razved.info//index.php?t=6061
-- Алексей Мыльников написал 9 января 2018 10:13
В данной теме рассматривается:
• конвертация выдачи (содержания Рубрик и потоков) программы СайтСпутник (http://sitesputnik.ru/) в формат JSON;
• подготовка и отправка её в этом формате на сервер на API,
• в папки сайта, по E-mail и в локальные папки компьютера.
О работе программного обеспечения на стороне сервера, об API сервера, о формате JSON
можно прочитать в отдельной публикации Николая Рыбака из г. Киева, размещенной
на ссылке: О реализации взаимодействия программы SiteSputnik со сторонними API (http://sitesputnik.ru/Help/I/JsonAPI.pdf).
Продолжение следует …
-- Алексей Мыльников написал 9 января 2018 10:16
Ручная конвертация в JSON
Становимся на Рубрику или Чистый поток (см. зелёную стрелочку на картинке ниже), нажимает на правую кнопку мышки и выбирает пункт меню, отмеченный на картинке красной стрелочкой:
(http://sitesputnik.ru/Help/Pic/F/ToJSON_arm.jpg)
В результате на рабочем столе получим файл с расширением json, содержащий результат конвертации.
Пример такого файла на ссылке: Json-файл (http://sitesputnik.ru/Files/Json_Example.json).
Продолжение следует …
-- Алексей Мыльников написал 9 января 2018 10:27
Автоматическая конвертация в JSON
Она осуществляется самостоятельно в процессе выполнения Проекта.
Примеры её прописки в программе СайтСпутник:
json:D:\DataBase\Json\02 – конвертация и отправка в локальную папку D:\DataBase\Json\02;
json:mess-jsn@mail.com – конвертация и отправка по указанному E-mail;
json:http://sitename.ru/JSW – конвертация и отправка в папку сайта;
json:https://name.sitename.ru/com/api/news(api) – конвертация и отправка на сервер на API, URL которого https://name.sitename.ru/com/api/news.
Об отличии отправки в папку сайта от отправки на API сайта:
синтаксическое отличие отправки в папку сайта от отправки на сервер на API заключается в том, что для последнего нужно приписать в конце адреса URL лексему: (api);
семантическое отличие – в первом случае происходит передача json-файла в папку сайта по протоколу ftp, а во втором – содержание файла отправляется по http/https протоколу методом POST и обрабатывается специальной программой на сервере, ждущей его.
Для Рубрики статической прописка осуществляется на её вкладке КП (смотрите картинку):
(http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Static.jpg)
Для Рубрики динамической – в теле Проекта, после префикса КП (смотрите картинку):
(http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Dinamic.jpg)
Для Чистых потоков – в Настройка – Параметры – Вкладка +Station (смотрире картинку):
(http://sitesputnik.ru/Help/Pic/F/ToJSON_Streams.jpg)
На картинке выше прописано отправить Чистый поток (напомню, что это все новости, собранные в Проекте) по четырём «направлениям»:
• в локальную папку компьютера;
• в папку сайта;
• по E-mail;
• на API.
Правее знаков ^^ размещены комментарии.
Аналогично, любые Рубрики тоже можно отправлять по нескольким различным «направлениям».
Продолжение следует ...
-- Алексей Мыльников написал 9 января 2018 10:57
О реализации программного обеспечения на стороне сервера, API сервера, формат JSON
В данном топике представлен один из вариантов взаимодействия программы SiteSputnik с API сайтов.
Эта работа полностью выполнена Николаем Рыбаком из г. Киева, Украина.
С ней можно ознакомиться подробнее на ссылке (http://sitesputnik.ru/Help/I/JsonAPI.pdf).
Основное содержание этой ссылки, написанное Николаем, предназначено для программиста. Оно приведено ниже.
Прежде, чем описать работу серверной части, необходимо знать, что делается программой SiteSputnik на стороне клиента, а именно:
1) какая информация подготавливается к отправке на сервер;
2) метод и протокол отправки этой информации;
3) её детальную структуру и формат.
На сервер программой SiteSputnik может быть отправлено содержание Рубрик или Чистого потока, отправка осуществляется по протоколу http/https методом POST в формате JSON, детальная структура которого такова:
{
"route-api": "адрес отправки(собственно API)",
"heading": "название проекта / рубрики",
"date": "дата проведения мониторинга",
"time": "время проведения мониторинга",
"data": [
{
"title": "заголовок новости",
"author": "автор",
"description": "описание новости",
"date": "дата новости",
"time": "время новости",
"rubrics": [
{
"head": "название рубрики, в которые попала новость"
},
...
],
"objects": [
{
"type": "тип объекта, размещенного в новости",
"name": "его имя",
"rank": "количество упоминаний"
},
...
],
"domain": "домен второго уровня",
"url": "ссылка на новость"
},
...
]
}
Общая схема взаимодействия выглядит так:
(http://sitesputnik.ru/Help/Pic/F/API_Json_01.jpg)
Как один из примеров возможной реализации этой схемы, представляется реализация сервера на платформе NodeJs / Express с записью получаемого json в базу данных MongoDB, вот ссылка на репозиторий с кодом – https://github.com/NickRbk/Simple-API.
В папке ‘server’ находятся все файлы для запуска сервера. Папки ‘app’ и ‘config’ определяют настройки для запуска/работы БД и являются несущественными для описания общей схемы работы с SiteSputnik.
Основной файл – server.js, в котором определен API, отвечающий за прием запросов методом POST.
Это частный случай реализации серверной части сайта для приема данных с SiteSputnik. Все зависит от конкретной технологии, на которой работает конкретный сайт. В данном случае в параметр "route-api": СайтСпутник должен поместить следующее API: localhost:7777/api/news (здесь приведен адрес API для локально запущенного сервера).
Информация о создании API такова:
// Создание API
const apiRouter = express.Router();
app.use('/api', apiRouter);
// Определяем адрес /api/news и назначаем ему метод POST
// То есть если Ваш сайт условно говоря https://test.com, то по адресу
// https://test.com/api/news можно отправлять запрос и этот адрес нужно
// указать для отправки в SiteSputnik
apiRouter.route('/news')
.post( (req, res) => {
// через переменную req.body получаем доступ к json
// и считываем данные, обращаясь к ключам json
const dataset = req.body['data'];
const generalData = {
routeApi: req.body['route-api'],
heading: req.body['heading'],
dateProject: req.body['date'],
timeProject: req.body['time']
};
// Тут для примера определена логика работы с БД,
// функция для сохранения данных определена
// по пути ‘./app/helpers/saveNews’
const saveNews = require('./app/helpers/saveNews');
saveNews(dataset, generalData)
.then(
result => {
res.json({ message: result }) // Ответ в случае успеха
},
error => {
res.json({ message: error }) // Ответ в случае ошибки
}
);
//___________________________________________________
});
Этот форум работает на скрипте Intellect Board
© 2004-2007, 4X_Pro, Объединенный Открытый Проект