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>)Указать ссылку откуда парсить и интервал обновления.

После чего в обьектах можно увидеть значение:

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden