<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>Конвертация выдачи в формат JSON, её отправка на API</title>
<link>http://forum.razved.info//index.php?t=6061</link>
<description>Отправка выдачи программы СайтСпутник в формате JSON на сервер на API, а также в папки сайта, по E-mail и в локальные папки компьютера. Реализация взаимодействия программы СайтСпутник со сторонними API.</description>
<language>ru</language>
<item><guid>http://forum.razved.info//index.php?t=6061&amp;p=57680#pp57680</guid><title></title>
<link>http://forum.razved.info//index.php?t=6061&amp;p=57680#pp57680</link>
<description>  &lt;ul&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;font color="green"&gt;&lt;font size="4"&gt;О реализации программного обеспечения на стороне сервера, API сервера, формат JSON&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;В данном топике представлен один из вариантов взаимодействия программы SiteSputnik с API сайтов. &lt;br /&gt;Эта работа полностью выполнена &lt;b&gt;Николаем Рыбаком&lt;/b&gt; из г. Киева, Украина. &lt;br /&gt;С ней можно ознакомиться подробнее на &lt;a href="http://sitesputnik.ru/Help/I/JsonAPI.pdf" target=_blank&gt;ссылке&lt;/a&gt;. &lt;br /&gt;Основное содержание этой ссылки, написанное Николаем, предназначено для программиста. Оно приведено ниже.&lt;br /&gt;&lt;br /&gt;Прежде, чем описать работу серверной части, необходимо знать, что делается программой SiteSputnik на стороне клиента, а именно:&lt;br /&gt;&lt;br /&gt;1) какая информация подготавливается к отправке на сервер;&lt;br /&gt;2) метод и протокол отправки этой информации;&lt;br /&gt;3) её детальную структуру и формат.&lt;br /&gt;&lt;br /&gt;На сервер программой SiteSputnik может быть отправлено содержание Рубрик или Чистого потока, отправка осуществляется по протоколу http/https методом POST в формате JSON, детальная структура которого такова:&lt;br /&gt;{&lt;br /&gt;    "route-api": "адрес отправки(собственно API)",&lt;br /&gt;    "heading": "название проекта / рубрики",&lt;br /&gt;    "date": "дата проведения мониторинга",&lt;br /&gt;    "time": "время проведения мониторинга",&lt;br /&gt;    "data": [&lt;br /&gt;            {&lt;br /&gt;                "title": "заголовок новости",&lt;br /&gt;                "author": "автор",&lt;br /&gt;                "description": "описание новости",&lt;br /&gt;                "date": "дата новости",&lt;br /&gt;                "time": "время новости",&lt;br /&gt;                "rubrics": [&lt;br /&gt;                    {&lt;br /&gt;                        "head": "название рубрики, в которые попала новость"&lt;br /&gt;                    },&lt;br /&gt;                    ...&lt;br /&gt;                ],&lt;br /&gt;                "objects": [&lt;br /&gt;                    {&lt;br /&gt;                        "type": "тип объекта, размещенного в новости",&lt;br /&gt;                        "name": "его имя",&lt;br /&gt;                        "rank": "количество упоминаний"&lt;br /&gt;                    },&lt;br /&gt;                    ...&lt;br /&gt;                ],&lt;br /&gt;                "domain": "домен второго уровня",&lt;br /&gt;                "url": "ссылка на новость"&lt;br /&gt;            },&lt;br /&gt;            ...&lt;br /&gt;    ]&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;font color="green"&gt;&lt;font size="3"&gt;Общая схема взаимодействия выглядит так:&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sitesputnik.ru/Help/Pic/F/API_Json_01.jpg" target=_blank&gt;&lt;img src="http://sitesputnik.ru/Help/Pic/F/API_Json_01.jpg" alt="" name="itag" border=none&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Как один из примеров возможной реализации этой схемы, представляется реализация  сервера на платформе NodeJs / Express с записью получаемого json в базу данных MongoDB, вот ссылка на репозиторий с кодом – https&lt;i&gt;://&lt;/i&gt;github.com/NickRbk/Simple-API. &lt;br /&gt;&lt;br /&gt;В папке &lt;b&gt;‘server’&lt;/b&gt; находятся все файлы для запуска сервера. Папки &lt;b&gt;‘app’&lt;/b&gt; и &lt;b&gt;‘config’&lt;/b&gt; определяют настройки для запуска/работы БД и являются несущественными для описания общей схемы работы с SiteSputnik.&lt;br /&gt;&lt;br /&gt;Основной файл – &lt;b&gt;server.js&lt;/b&gt;, в котором определен API, отвечающий за прием запросов методом POST.&lt;br /&gt;&lt;br /&gt;Это частный случай реализации серверной части сайта для приема данных с SiteSputnik. Все зависит от конкретной технологии, на которой работает конкретный сайт. В данном случае в параметр "route-api": СайтСпутник должен поместить следующее API:  localhost:7777/api/news  (здесь приведен адрес API для локально запущенного сервера).&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;b&gt;&lt;u&gt;&lt;font color="green"&gt;&lt;font size="3"&gt;Информация о создании API такова: &lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Создание API&lt;br /&gt;	const apiRouter = express.Router();&lt;br /&gt;	app.use('/api', apiRouter);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;	// Определяем адрес /api/news и назначаем ему метод POST&lt;br /&gt;// То есть если Ваш сайт условно говоря https://test.com, то по адресу &lt;br /&gt;// https://test.com/api/news можно отправлять запрос и этот адрес нужно&lt;br /&gt;// указать для отправки в SiteSputnik&lt;br /&gt;&lt;br /&gt;	apiRouter.route('/news')&lt;br /&gt;	    .post( (req, res) =&amp;gt; {&lt;br /&gt;&lt;br /&gt;        // через переменную req.body получаем доступ к json&lt;br /&gt;        // и считываем данные, обращаясь к ключам json&lt;br /&gt;&lt;br /&gt;	        const dataset = req.body['data'];&lt;br /&gt;	&lt;br /&gt;	        const generalData = {&lt;br /&gt;	            routeApi: req.body['route-api'],&lt;br /&gt;	            heading: req.body['heading'],&lt;br /&gt;	            dateProject: req.body['date'],&lt;br /&gt;	            timeProject: req.body['time']&lt;br /&gt;	        };&lt;br /&gt;&lt;br /&gt;	&lt;br /&gt;	        // Тут для примера определена логика работы с БД,&lt;br /&gt;        // функция для сохранения данных определена&lt;br /&gt;        // по пути ‘./app/helpers/saveNews’&lt;br /&gt;&lt;br /&gt;	        const saveNews = require('./app/helpers/saveNews');&lt;br /&gt;	        saveNews(dataset, generalData)&lt;br /&gt;	            .then(&lt;br /&gt;	                result =&amp;gt; {&lt;br /&gt;	                    res.json({ message: result }) // Ответ в случае успеха&lt;br /&gt;	                },&lt;br /&gt;	                error =&amp;gt; {&lt;br /&gt;	                    res.json({ message: error })   // Ответ в случае ошибки&lt;br /&gt;	                }&lt;br /&gt;	            );&lt;br /&gt;	        //___________________________________________________&lt;br /&gt;	&lt;br /&gt;	    });&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;  </description>
<dc:creator>Алексей Мыльников</dc:creator>
<pubDate>Tue, 09 Jan 2018 10:57:21 +0300</pubDate>
</item><item><guid>http://forum.razved.info//index.php?t=6061&amp;p=57679#pp57679</guid><title></title>
<link>http://forum.razved.info//index.php?t=6061&amp;p=57679#pp57679</link>
<description>  &lt;ul&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;font color="green"&gt;&lt;font size="3"&gt;Автоматическая конвертация в JSON&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Она осуществляется самостоятельно в процессе выполнения Проекта.&lt;br /&gt;Примеры её прописки в программе СайтСпутник:&lt;ul&gt;&lt;br /&gt;&lt;font color="blue"&gt;json:D:\DataBase\Json\02&lt;/font&gt; – конвертация и отправка в локальную папку D:\DataBase\Json\02;&lt;br /&gt;&lt;font color="blue"&gt;json:mess-jsn@mail.com&lt;/font&gt;  – конвертация и отправка по указанному E-mail;&lt;br /&gt;&lt;font color="blue"&gt;json:http&lt;i&gt;://&lt;/i&gt;sitename.ru/JSW&lt;/font&gt;  – конвертация и отправка в папку сайта;&lt;br /&gt;&lt;font color="blue"&gt;json:https&lt;i&gt;://&lt;/i&gt;name.sitename.ru/com/api/news(api)&lt;/font&gt;  – конвертация и отправка на сервер на API, URL которого https:&lt;i&gt;//&lt;/i&gt;name.sitename.ru/com/api/news.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Об отличии отправки в папку сайта от отправки на API сайта:&lt;ul&gt;&lt;br /&gt;&lt;u&gt;синтаксическое отличие&lt;/u&gt; отправки в папку сайта от отправки на сервер на API заключается в том, что для последнего нужно приписать в конце адреса URL лексему: (api); &lt;br /&gt;&lt;u&gt;семантическое отличие&lt;/u&gt; – в первом случае происходит передача json-файла в папку сайта по протоколу ftp, а во втором – содержание файла отправляется по http/https протоколу методом POST и обрабатывается специальной программой на сервере, ждущей его.&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Для Рубрики статической прописка осуществляется на её вкладке КП (смотрите картинку):&lt;br /&gt;&lt;br /&gt; &lt;a href="http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Static.jpg" target=_blank&gt;&lt;img src="http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Static.jpg" alt="" name="itag" border=none&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Для Рубрики динамической – в теле Проекта, после префикса КП (смотрите картинку):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Dinamic.jpg" target=_blank&gt;&lt;img src="http://sitesputnik.ru/Help/Pic/F/Select_KP_Prefic_Dinamic.jpg" alt="" name="itag" border=none&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Для Чистых потоков – в Настройка – Параметры – Вкладка +Station (смотрире картинку):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sitesputnik.ru/Help/Pic/F/ToJSON_Streams.jpg" target=_blank&gt;&lt;img src="http://sitesputnik.ru/Help/Pic/F/ToJSON_Streams.jpg" alt="" name="itag" border=none&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;На картинке выше прописано отправить Чистый поток (напомню, что это все новости, собранные в Проекте) по четырём «направлениям»:&lt;ul&gt;&lt;br /&gt;•	в локальную папку компьютера;&lt;br /&gt;•	в папку сайта;&lt;br /&gt;•	по E-mail;&lt;br /&gt;•	на API. &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Правее знаков ^^ размещены комментарии.&lt;br /&gt;Аналогично, любые Рубрики тоже можно отправлять по нескольким различным «направлениям». &lt;br /&gt; &lt;/ul&gt;&lt;br /&gt;Продолжение следует ...&lt;br /&gt;&lt;br /&gt;  </description>
<dc:creator>Алексей Мыльников</dc:creator>
<pubDate>Tue, 09 Jan 2018 10:27:29 +0300</pubDate>
</item><item><guid>http://forum.razved.info//index.php?t=6061&amp;p=57678#pp57678</guid><title></title>
<link>http://forum.razved.info//index.php?t=6061&amp;p=57678#pp57678</link>
<description>  &lt;ul&gt;&lt;b&gt;&lt;u&gt;&lt;font color="green"&gt;&lt;font size="3"&gt;Ручная конвертация в JSON&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Становимся на Рубрику или Чистый поток (см. зелёную стрелочку на картинке ниже), нажимает на правую кнопку мышки и выбирает пункт меню, отмеченный на картинке красной стрелочкой:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sitesputnik.ru/Help/Pic/F/ToJSON_arm.jpg" target=_blank&gt;&lt;img src="http://sitesputnik.ru/Help/Pic/F/ToJSON_arm.jpg" alt="" name="itag" border=none&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В результате на рабочем столе получим файл с расширением json, содержащий результат конвертации. &lt;br /&gt;&lt;br /&gt;Пример такого файла на ссылке: &lt;a href="http://sitesputnik.ru/Files/Json_Example.json" target=_blank&gt;Json-файл&lt;/a&gt;. &lt;/ul&gt;&lt;br /&gt;Продолжение следует …  </description>
<dc:creator>Алексей Мыльников</dc:creator>
<pubDate>Tue, 09 Jan 2018 10:16:09 +0300</pubDate>
</item><item><guid>http://forum.razved.info//index.php?t=6061&amp;p=57677#pp57677</guid><title></title>
<link>http://forum.razved.info//index.php?t=6061&amp;p=57677#pp57677</link>
<description>  &lt;ul&gt;В данной теме рассматривается:&lt;ul&gt;&lt;br /&gt;•	конвертация &lt;b&gt;выдачи&lt;/b&gt; (содержания Рубрик и потоков) &lt;a href="http://sitesputnik.ru/" target=_blank&gt;программы СайтСпутник&lt;/a&gt; в формат &lt;b&gt;JSON&lt;/b&gt;; &lt;br /&gt;•	подготовка и отправка её в этом формате на сервер на API, &lt;br /&gt;•	в папки сайта, по E-mail и в локальные папки компьютера. &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;О работе программного обеспечения на стороне сервера, об API сервера, о формате JSON &lt;br /&gt;можно прочитать в отдельной публикации &lt;b&gt;Николая Рыбака&lt;/b&gt; из г. Киева, размещенной &lt;br /&gt;на ссылке: &lt;a href="http://sitesputnik.ru/Help/I/JsonAPI.pdf" target=_blank&gt; О реализации взаимодействия программы SiteSputnik со сторонними API&lt;/a&gt;. &lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Продолжение следует …  </description>
<dc:creator>Алексей Мыльников</dc:creator>
<pubDate>Tue, 09 Jan 2018 10:13:04 +0300</pubDate>
</item></channel>
</rss>