Fórum Root.cz

Hlavní témata => Software => Téma založeno: novak_josef_2019 05. 06. 2021, 07:07:36

Název: Monitorování změny na stránce
Přispěvatel: novak_josef_2019 05. 06. 2021, 07:07:36
Potřeboval bych monitorovat změnu na určité stránce, nejlépe jako plugin pro Chrome. Ideálně kdybych si mohl vybrat oblast (např. s grafem viz. obrázek), kde by se objevila jiná barva, která by šla určit. V tu chvíli bych potřeboval vyvolat alarm, nebo i poslat email. Předem děkuji za nějaký tip.
Název: Re:Monitorování změny na stránce
Přispěvatel: yoyoA 05. 06. 2021, 07:32:11
Plugin Distill Web Monitor. Je pro Chrome i FF.
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 05. 06. 2021, 13:25:47
Děkuji. Nevypadá to špatně, ale ten graf se musí specificky nastavit pomocí filtrů a Distill si tu stránku poté otevírá sám (nebere tu otevřenou), kde podle náhledu (objeví se to na chvíli) to je bez předvolených filtrů.
https://www.ceps.cz/cs/data#RegulationEnergy
Název: Re:Monitorování změny na stránce
Přispěvatel: yoyoA 05. 06. 2021, 15:51:15
Zkuste si projít dokumentaci toho Distillu. Ja tam na stránce /features čtu :

Automate steps like filling forms and clicks

Tak třeba to nějak umí...

Popř. Makro by nepomohlo tomu co potřebujete?

https://distill.io/kb/help/macro-to-record-replay-actions/
Název: Re:Monitorování změny na stránce
Přispěvatel: _Jenda 05. 06. 2021, 16:21:41
Udělat screenshot pomocí Chromia z commandline: https://www.putorius.net/website-screenshot-linux-command-line.html

Případně totéž pomocí Selenium (umožňuje se snadno například přihlásit, aniž by člověk musel ručně zápasit s cookies)

Převést do PPM, vyříznout, grep: https://www.abclinuxu.cz/blog/jenda/2021/4/jednoduche-formaty-souboru-netpbm-dot-pcap
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 05. 06. 2021, 18:07:42
@yoyoA: Macra už jsou peníze a to dávat nebudu, když to nedá ani můj mecenáš. V pracovním PC ani nemáme možnost instalovat doplňky. Na to vyplňování formulářů se podívám, vím že v tom jdou ruční zásahy, tak zkusím nasledovat nějaká videa s Distillem, jestli v nich něco nepochytím.

@_Jenda: To by bylo také řešení, v periodách udělat screenshot již otevřené stránky a ten vyhodnotit, jestli se tam vyskytuje vybraná barva.

Díky chlapi.
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 07. 06. 2021, 16:52:57
To Selenium je dobré, ani jsem netušil, že něco takového existuje. Nepůjdu cestou detekce barvy, ale když si naklikáním stáhnu data v textovém souboru, tak bych následně potřeboval tyto data vyhodnotit. Ono to bude pro někoho triviální, ale potřebuji s tím pomoci.
Ve zmíněných datech je tohle
Kód: [Vybrat]
Verze dat;Od;Do;Agregační funkce;Agregace;Časové řady;
reálná data;07.06.2021 00:00:00;07.06.2021 23:00:00;agregace průměr;hodina;výběr;
Datum;mFRP+ [MW];
07.06.2021 12:00;0;
07.06.2021 13:00;0;
07.06.2021 14:00;0;
07.06.2021 15:00;0;
a nevím jak mám vyhodnotit ten údaj za každou hodinou 15:00;0; mezi těmi středníky.
Kdyby bylo po 15 hodině, tak aby vzal řádek 15:00 a kdyby bylo mezi středníky jiné číslo než 0, tak bych potřeboval vyvolat nějakou akci, třeba poslat email. Děkuji za nakopnutí.
Název: Re:Monitorování změny na stránce
Přispěvatel: yoyoA 07. 06. 2021, 21:03:31
Nejsem bashista, tak snad mě místní neukamenují... ale šel bych na to nějak takto:

Kód: [Vybrat]
#!/bin/bash
i=1
for n in $(cat data.csv | awk 'BEGIN { FS = ";"}; {print $2}')
do

  if [ $n -gt 0 ]
  then
      hodina=$(tail --lines=+$i data.csv | awk '{ print $2 }' | awk 'BEGIN { FS = ";"}; {print $1}')
      echo "$n je vetsi, na $i. radku, hodina: $hodina"
      # zde je prostor pro vase emailovani
  fi
  ((i=i+1))
done

Přepokldat: data.csv obsahuje jen data:

Kód: [Vybrat]
07.06.2021 12:00;0;
07.06.2021 13:00;0;
07.06.2021 14:00;1;

Volání skriptu:
Kód: [Vybrat]
sudo chmod u+x skript.sh
./skript.sh
1 je vetsi, na 3. radku, hodina: 14:00


Pokud data.csv musí obsahovat i tu hlavičku, tak si místo cat data.csv volejte obdobný konstrukt jako vidíte v skriptu tails... A spoléháme že hlavička je pevně daná (například hlavička vždy jen jeden řádek a data začínají od druhého řádku). Čili:

Kód: [Vybrat]
tail --lines=2 data.csv
Název: Re:Monitorování změny na stránce
Přispěvatel: Sam Samovic 07. 06. 2021, 21:36:31
Potřeboval bych monitorovat změnu na určité stránce, nejlépe jako plugin pro Chrome. Ideálně kdybych si mohl vybrat oblast (např. s grafem viz. obrázek), kde by se objevila jiná barva, která by šla určit. V tu chvíli bych potřeboval vyvolat alarm, nebo i poslat email. Předem děkuji za nějaký tip.

Pouzival jsem to pri nakupu PS5 z polska ;-) pro sledovani zmen dostupnosti.
https://chrome.google.com/webstore/detail/distill-web-monitor/inlikjemeeknofckkjolnjbpehgadgge?hl=en
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 08. 06. 2021, 06:40:43
@yoyoA: Děkuji moc, zkusím se s tím poprat.

@Sam Samovic: Distill už jsem zkoušel, neuměl sice naklikat filtry, ale to zase umí Selenium. Ale lépe se mi hodí to vyhodnocení textového souboru.
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 08. 06. 2021, 08:27:09
@yoyoA: Mohl bych ještě poprosit, že by data v csv souboru bral až od 4 řádku a počítalo se z hodnotou, která má desetiné číslo.
Název: Re:Monitorování změny na stránce
Přispěvatel: Wrána diskuze 08. 06. 2021, 10:55:01
Nejsem bashista, tak snad mě místní neukamenují... ale šel bych na to nějak takto:
............
taky jakoby nejsem žádná velikánská bashistka ale kde jako mam ty šutry ;D ;D ;) ;)

@yoyoA: Mohl bych ještě poprosit, že by data v csv souboru bral až od 4 řádku a počítalo se z hodnotou, která má desetiné číslo.
takle?? :o :o :D ;)
Kód: [Vybrat]
#!/usr/bin/env bash
awk 'BEGIN {FS=";"};NR>3{if($2>0)printf("%d je vic veci, na %d. radku a v case %s\n",$2,NR,$1)}' data.csv | while read radek ; do
echo $radek
#posílání mailu sem strčit
done

Plugin Distill Web Monitor. Je pro Chrome i FF.
to je jakoby něco vod toho samýho pána jak tady prej jako furt spamoval s takovým tim destilátorem na pití vlastního čurání a furt ho prej uráželo když mu někdo řek žeto je uplná pitomina?? :o :o
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 08. 06. 2021, 11:08:10
@Wrána diskuze: Úžasné, děkuji.

@yoyoA: Za to od 4 řádku se omlouvám, všiml jsem si, že jste s tím počítal.
Název: Re:Monitorování změny na stránce
Přispěvatel: Wrána diskuze 08. 06. 2021, 11:12:50
@Wrána diskuze: Úžasné, děkuji.
.....
supr nemáš zač  ;D ;)
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 08. 06. 2021, 12:30:01
Ještě maličkost, když bych chtěl ten csv soubor po zpracování smazat a neovlivnit odeslání emailu, tak kde to dát? Když ho stáhnu znovu přes Selenium, tak ho prohlížeč automaticky přejmenovává.
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 08. 06. 2021, 14:08:43
To přejmenovávání jsem vyřešil nahrazením (https://chrome.google.com/webstore/detail/downloads-overwrite-alrea/lddjgfpjnifpeondafidennlcfagekbp).
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 17. 06. 2021, 17:08:10
Potřeboval bych opět trochu popostrčit, jelikož se monitorování změnilo. Hodnoty sleduji v minutových intervalech, ale zpracovávám jednou za 5 minut, takže když se mi objeví např. 4 řádky odchylky, tak to pošle 4 emaily najednou a mě by stačil bohatě 1, ale nevím, jak na to.
Přidám script od @Wrána diskuze, který funguje dobře.
Kód: [Vybrat]
#!/usr/bin/env bash
awk 'BEGIN {FS=";"};NR>3{if($2>0)printf("%d je vic veci, na %d. radku a v case %s\n",$2,NR,$1)}' data.csv | while read radek ; do
echo $radek
echo "Předmět" | mail -s "Zpráva" muj@email.cz
done
Dík za snahu.
Název: Re:Monitorování změny na stránce
Přispěvatel: yoyoA 20. 06. 2021, 07:34:21
Je to snadné. Misto řádku, který posílá email, tam dejte uložení do textového souboru. A v cronu si pak udělejte druhy skript (třeba po těch Vašich 5 minut), který se dívá do textového souboru a když tam je něco zapsané, tak emailuje. Po odeslání emailu vyčistí / maže tento textový soubor.

Zvládnete to? Zkusíte to vůbec sám? :)
Název: Re:Monitorování změny na stránce
Přispěvatel: novak_josef_2019 20. 06. 2021, 09:11:16
Už se pomalu snažím, potřeboval jsem i přidat další hodnotu, která je záporná a když v datech byl jen text kvůli později nastavené době, tak ho vyhodnotilo, že to je menší než <0. Těch víc řádků, kvůli více emailům jsem zhrnul do jednoho, ale bez toho -r za xargs to vyhazovalo prázdný řádek a poslalo to zbytečně email. Zatím mi to stačí.
Kód: [Vybrat]
#!/usr/bin/env bash
awk 'BEGIN {FS=";"};NR>3{if($2>z)printf("%d data+ na %d. radku v case %s\n",$2,NR,$1);if($3<z)printf("%d data- na %d. radku v case %s\n",$3,NR,$1)}' data.txt | xargs -r | while read radek ; do
echo $radek
echo "Neco" | mail -s "Neco2" me@mujimejl.cz
done
Název: Re:Monitorování změny na stránce
Přispěvatel: Wrána diskuze 07. 07. 2021, 16:15:36
sry že reaguju takle pozdě na pm  :D :-\ :D :-\

koukám že už to máš +- hotový :o ;)
 ti skriptík takle jako stačí nebo ho eště potřebuješ nějak víc vylepšit?? :o :o