NEWS
Парсер погоды
-
Помогите с адаптацией скрипта из MD:
Собственно парсинг страницы, в MD это называют "веб-переменные"
Шаблон поиска: Прогноз погоды в Самаре на сегодня</span>: (.+?)</div>
на выходе имеем, например: Объект.Свойство: "Небо днем затянуло облаками, и вечером погода будет оставаться пасмурной. Без осадков. "
Кстати, более лаконичного сервиса погоды я не встречал. очень хорошо воспринимается, когда голосом озвучивает
Вообще про тему парсинга вебстраницы просветите, плз…
-
Помогите с адаптацией скрипта из MD:
Собственно парсинг страницы, в MD это называют "веб-переменные"
Шаблон поиска: Прогноз погоды в Самаре на сегодня</span>: (.+?)</div>
на выходе имеем, например: Объект.Свойство: "Небо днем затянуло облаками, и вечером погода будет оставаться пасмурной. Без осадков. "
Кстати, более лаконичного сервиса погоды я не встречал. очень хорошо воспринимается, когда голосом озвучивает
Вообще про тему парсинга вебстраницы просветите, плз… `
Вот скрипт для примера http://forum.iobroker.net/viewtopic.php?f=26&t=1281Так же есть драйвер для парсинга https://github.com/ioBroker/ioBroker.parser
-
извиняюсь за свою тупизну… на словах все понятно,...
на конкретно моем примере можно научить? ...
-
извиняюсь за свою тупизну… на словах все понятно,...
на конкретно моем примере можно научить? ... `
Ну ты прям хочешь готовое решение….! ````
createState('pogoda','');
! var request = require('request');
getForecast();
! function getForecast() {
request ('https://sinoptik.com.ru/погода-самара-100499099', function (error, response, body) {
// Получаем ответ
if (!error && response.statusCode == 200) {
// Парсим данные
var desc = body.match(/</span>:(.*?</div>)./);
! log('desc = ' +JSON.stringify(desc));
// Если данные существуют, то обрабатываем
if (desc) {
desc = desc[0].toString();
var result = desc.replace(": ", "").replace(" ", "");
log('result = ' +JSON.stringify(result));
setState('pogoda', result);
}
}
});
}
! // Запускаем в 45 минут через 2 часа
on({time: "45 */2 * * *"}, getForecast);Это один из вариантов. [https://regex101.com](https://regex101.com)в помощь.
-
Если установишь драйвер Parser то в него нужно добавить регулярку:
\<\/span\>:(.*?<\/div>)
Указать ссылку откуда парсить и интервал обновления.
После чего в обьектах можно увидеть значение:
-
Спасибо! Все получилось как надо!