Парсер погоды

Вопросы и информация о скриптах для ioBroker
Antworten
Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Парсер погоды

Beitrag von Pooh » 13.06.2017, 18:24

Помогите с адаптацией скрипта из MD:
Собственно парсинг страницы, в MD это называют "веб-переменные"
Ссылка: https://sinoptik.com.ru/погода-самара-100499099
Шаблон поиска: Прогноз погоды в Самаре на сегодня<\/span>: (.+?)<\/div>
на выходе имеем, например: Объект.Свойство: "Небо днем затянуло облаками, и вечером погода будет оставаться пасмурной. Без осадков. "
Кстати, более лаконичного сервиса погоды я не встречал. очень хорошо воспринимается, когда голосом озвучивает :-)
Вообще про тему парсинга вебстраницы просветите, плз...

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Парсер погоды

Beitrag von instalator » 13.06.2017, 18:40

Pooh hat geschrieben:Помогите с адаптацией скрипта из MD:
Собственно парсинг страницы, в MD это называют "веб-переменные"
Ссылка: https://sinoptik.com.ru/погода-самара-100499099
Шаблон поиска: Прогноз погоды в Самаре на сегодня<\/span>: (.+?)<\/div>
на выходе имеем, например: Объект.Свойство: "Небо днем затянуло облаками, и вечером погода будет оставаться пасмурной. Без осадков. "
Кстати, более лаконичного сервиса погоды я не встречал. очень хорошо воспринимается, когда голосом озвучивает :-)
Вообще про тему парсинга вебстраницы просветите, плз...
Вот скрипт для примера http://forum.iobroker.net/viewtopic.php?f=26&t=1281
Так же есть драйвер для парсинга https://github.com/ioBroker/ioBroker.parser
Высокий уровень Децибел вреден для здоровья!
Мой блог

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Парсер погоды

Beitrag von Pooh » 13.06.2017, 19:21

извиняюсь за свою тупизну... на словах все понятно,...
на конкретно моем примере можно научить? ... :-)

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Парсер погоды

Beitrag von instalator » 14.06.2017, 15:53

Pooh hat geschrieben:извиняюсь за свою тупизну... на словах все понятно,...
на конкретно моем примере можно научить? ... :-)
Ну ты прям хочешь готовое решение....
Spoiler: Show hidden text

Code: Alles auswählen

createState('pogoda','');

var request = require('request');
getForecast();

function getForecast() {
    request ('https://sinoptik.com.ru/%D0%BF%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0-%D1%81%D0%B0%D0%BC%D0%B0%D1%80%D0%B0-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("</span>: ", "").replace("</div> ", ""); 
                log('result = ' +JSON.stringify(result));
                setState('pogoda', result);
            }
        }
    });
}

// Запускаем в 45 минут через 2 часа
on({time: "45 */2 * * *"}, getForecast);
Это один из вариантов. Сайтв помощь.
Высокий уровень Децибел вреден для здоровья!
Мой блог

Benutzeravatar
instalator
guru
Beiträge: 1258
Registriert: 09.11.2014, 16:50
Wohnort: Барнаул
Kontaktdaten:

Re: Парсер погоды

Beitrag von instalator » 14.06.2017, 16:18

Если установишь драйвер Parser то в него нужно добавить регулярку:

Code: Alles auswählen

\<\/span\>:(.*?<\/div>)
Указать ссылку откуда парсить и интервал обновления.
23уу.png
После чего в обьектах можно увидеть значение:
332в.png
Высокий уровень Децибел вреден для здоровья!
Мой блог

Pooh
professional
Beiträge: 125
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Парсер погоды

Beitrag von Pooh » 15.06.2017, 06:06

Спасибо! Все получилось как надо!

Antworten