Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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.
-
Plugin Distill Web Monitor. Je pro Chrome i FF.
-
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
-
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/
-
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
-
@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.
-
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
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í.
-
Nejsem bashista, tak snad mě místní neukamenují... ale šel bych na to nějak takto:
#!/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:
07.06.2021 12:00;0;
07.06.2021 13:00;0;
07.06.2021 14:00;1;
Volání skriptu:
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:
tail --lines=2 data.csv
-
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
-
@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.
-
@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.
-
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 ;)
#!/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
-
@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.
-
@Wrána diskuze: Úžasné, děkuji.
.....
supr nemáš zač ;D ;)
-
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á.
-
To přejmenovávání jsem vyřešil nahrazením (https://chrome.google.com/webstore/detail/downloads-overwrite-alrea/lddjgfpjnifpeondafidennlcfagekbp).
-
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.
#!/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
doneDík za snahu.
-
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? :)
-
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čí.
#!/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
-
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