39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
API='https://lightning.ambientweather.net/devices'
|
||
|
OUTDIR="$HOME/tmp/weatherfetch"
|
||
|
|
||
|
function fetchWeather() {
|
||
|
curl "$API"?'%24publicBox%5B0%5D%5B0%5D=-115.37389456264378&%24publicBox%5B0%5D%5B1%5D=36.1098453902911&%24publicBox%5B1%5D%5B0%5D=-115.1709572152316&%24publicBox%5B1%5D%5B1%5D=36.24422733946878&%24limit=500' \
|
||
|
-H 'authority: lightning.ambientweather.net' \
|
||
|
-H 'accept: application/json' \
|
||
|
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36' \
|
||
|
-H 'origin: https://ambientweather.net' \
|
||
|
-H 'sec-fetch-site: same-site' \
|
||
|
-H 'sec-fetch-mode: cors' \
|
||
|
-H 'sec-fetch-dest: empty' \
|
||
|
-H 'referer: https://ambientweather.net/' \
|
||
|
-H 'accept-language: en-US,en;q=0.9' \
|
||
|
--compressed | jq .
|
||
|
}
|
||
|
|
||
|
function main() {
|
||
|
if [[ ! -d $OUTDIR ]]; then
|
||
|
mkdir -p $OUTDIR
|
||
|
fi
|
||
|
|
||
|
while sleep 1; do
|
||
|
oneLoop
|
||
|
sleep 3600
|
||
|
done
|
||
|
}
|
||
|
|
||
|
function oneLoop() {
|
||
|
NOW="$(date -u +"%Y%m%dT%H%M%SZ")"
|
||
|
JSON="$(fetchWeather)"
|
||
|
cat <<< "$JSON" > $OUTDIR/latest.json
|
||
|
cp $OUTDIR/latest.json $OUTDIR/$NOW.json
|
||
|
}
|
||
|
|
||
|
main
|