Node HTML parsowanie strony

Chcę wyciągnąć ze strony HTML pewne dane pogodowe, w tym celu używam noda HTML,

jako msg.payload dostaje taką tablicę

moim celem jest aby funkcja zwróciła mi jedynie trzy klucze, które potem wrzucę do encji. Kod pochodzi z noda funkcji

msg.test=msg.payload[16]
msg.test1=msg.payload[4]
msg.test2=msg.payload[6]

return [msg];

jednak tak napisana funkcja zwraca mi cała tablicę.

Cześć,
Wrzuć flow będzie łatwiej.

… w payload całą, bo jego w funkcji nie zmieniasz.
Daj degbug na complete msg to zobaczysz, że pojawią się nowe wpisy: test, test1, test2… zgodnie z życzeniem :wink:

Zobacz czy to jest to co chciałeś osiągnąć:
GIOS.json (2,5 KB)


Jest tak jak napisał Robinl30, po zmianie na debug complete pojawiły się rekordy jakie chciałem - dzięki.
Tak na przyszłość jak w funkcji zwrócić tylko test, test1 ?
flows (1).json (1,6 KB)

@Marcin_Domański Dane pochodzące z funkcji, potem jak prezentujesz aby były czytelne dla człowieka ?

Dla ścisłości - one tam były, zmiana tylko pozwoliła je zobaczyć.

Sam tą funkcje pisałeś? … wydaje mi się, że rozumiesz tego co napisałeś,
Po prostu nie rób przypisania msg.test2=

Może napisałem nie precyzyjnie, chodzi mi o to, aby return nie zwracało mi całego msg tylko samo test i test1. Próbowałem coś takiego i nie działa

return msg.test
return msg.payload.test

Utwórz nowy msg.

var msg1 = {};
msg1.test=msg.payload[16]
msg1.test1=msg.payload[4]
msg1.test2=msg.payload[6]

return [msg1];


Wtedy przepiszesz i przekażesz tylko to co potrzebujesz.

Tą funkcje stworzyłem na potrzeby rozwiązania problemu, nie prezentowałem danych wyjściowych, tylko jako przykład prasowania tabeli z źródła HTMLu.

A do prezentacji można użyć kilka sposobów. Można utworzyć pomocnika dla każdego z zanieczyszczeń i zapisywać w nim zmiany, a można utworzyć daschbord w node-red i tam dowolnie zaprezentować.
Przykład tworzenia takiego dashbordu w node-red prezentuje ten film: