Tilføj rejsekort og diverse_api. Gør tv2east script lidt sikrere.
This commit is contained in:
parent
1c79066fe7
commit
cf1f9997e5
4
README
4
README
|
@ -4,3 +4,7 @@ tv2east.dk/getlive.sh
|
||||||
Udtræk HLS playlist til Livestream af TV2Øst.
|
Udtræk HLS playlist til Livestream af TV2Øst.
|
||||||
youtube.com/search.pl
|
youtube.com/search.pl
|
||||||
Søg på youtube.
|
Søg på youtube.
|
||||||
|
rejsekort.dk/salgssteder.pl
|
||||||
|
Hent JSON data om rejsekortets salgssteder
|
||||||
|
diverse_api/README
|
||||||
|
Små APIs til diverse tjenester
|
||||||
|
|
9
diverse_api/README
Normal file
9
diverse_api/README
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
Rema1000 butikker:
|
||||||
|
curl 'https://rema1000.dk/wp-content/themes/rema1000/get_stores.php' -o butikker.json
|
||||||
|
|
||||||
|
Youtube Feeds:
|
||||||
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC7_gcs09iThXybpVgjHZ_7g
|
||||||
|
https://www.youtube.com/feeds/videos.xml?user=periodicvideos
|
||||||
|
https://www.youtube.com/feeds/videos.xml?playlist_id=PL8D8D4240EC972114
|
||||||
|
|
||||||
|
|
28
rejsekort.dk/README
Normal file
28
rejsekort.dk/README
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
Hent JSON data om Rejsekortets salgssteder.
|
||||||
|
|
||||||
|
JSON filen består af en array/liste af objekter med salgssteder. For
|
||||||
|
hvert salgsstedsobjekt er der nøgler med navn, adresse, gps koordinater
|
||||||
|
og rejsekort ydelser salgsstedet tilbyder. Der er også et felt med
|
||||||
|
åbningstider, men indtil videre at det et uorganiseret rod af html.
|
||||||
|
|
||||||
|
Eksempel:
|
||||||
|
|
||||||
|
{
|
||||||
|
"region":null,
|
||||||
|
"services":[
|
||||||
|
"K\u00f8b rejsekort anonymt",
|
||||||
|
"\u00c6ndre kundetype og serviceniveau",
|
||||||
|
"Tanke rejsekort op"
|
||||||
|
],
|
||||||
|
"streetName":"Hedemarksvej",
|
||||||
|
"Longitude":12.353124,
|
||||||
|
"zipCode":2620,
|
||||||
|
"inactive":true,
|
||||||
|
"name":"Albertslund st. - DSB 7-Eleven",
|
||||||
|
"city":"Albertslund ",
|
||||||
|
"streetNumber":"1",
|
||||||
|
"itemId":"21d2d18d-50fc-4c7b-92fb-637270e38aa5",
|
||||||
|
"Latitude":55.65804,
|
||||||
|
"openingHours":"...",
|
||||||
|
"typeId":null
|
||||||
|
}
|
29
rejsekort.dk/salgssteder.pl
Executable file
29
rejsekort.dk/salgssteder.pl
Executable file
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
# Copyright (c) 2021 smpl <smpl@slamkode.ml>
|
||||||
|
# SPDX-Identifier: Zlib
|
||||||
|
# https://www.rejsekort.dk/da/Salgssteder
|
||||||
|
|
||||||
|
#binmode STDOUT, ':encoding(UTF-8)';
|
||||||
|
use JSON::XS;
|
||||||
|
use Encode;
|
||||||
|
use HTML::TreeBuilder 5 -weak;
|
||||||
|
use LWP;
|
||||||
|
use LWP::UserAgent;
|
||||||
|
use strict;
|
||||||
|
|
||||||
|
my $ua = LWP::UserAgent->new;
|
||||||
|
$ua->agent("Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0");
|
||||||
|
my $response = $ua->get('https://www.rejsekort.dk/da/Salgssteder');
|
||||||
|
|
||||||
|
my $tree = HTML::TreeBuilder->new(ignore_unknown => 0);
|
||||||
|
$tree->parse_content($response->content);
|
||||||
|
|
||||||
|
my $body = $tree->find_by_tag_name('body');
|
||||||
|
my $data_element = $body->look_down("data-behavior", "map-list");
|
||||||
|
my $semi_json = encode("UTF-8", $data_element->attr('data-settings'));
|
||||||
|
|
||||||
|
my $json = JSON::XS->new->utf8->decode($semi_json);
|
||||||
|
|
||||||
|
open(my $fh, ">", "salgssteder.json");
|
||||||
|
print $fh JSON::XS->new->ascii->encode($json);
|
||||||
|
close($fh);
|
|
@ -8,7 +8,7 @@ PLAYLIST=""
|
||||||
|
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
if [[ "$line" == *"playlist_url:"* ]]; then
|
if [[ "$line" == *"playlist_url:"* ]]; then
|
||||||
PLAYLIST=$(echo -En $line | sed -n 's/.*playlist_url:"\([^"]*\)".*/\1/p' | sed -n 's/\\u002F/\//gp')
|
PLAYLIST=$(echo -n $line | sed -n 's/.*playlist_url:"\([^"]*\)".*/\1/p' | sed -n 's/\\u002F/\//gp')
|
||||||
while read fline; do
|
while read fline; do
|
||||||
:;
|
:;
|
||||||
done
|
done
|
||||||
|
@ -23,13 +23,14 @@ URL=""
|
||||||
|
|
||||||
while read -r line; do
|
while read -r line; do
|
||||||
if [[ $line == "#EXT-X-STREAM-INF"* ]]; then
|
if [[ $line == "#EXT-X-STREAM-INF"* ]]; then
|
||||||
RESOLUTION=$(echo -En "$line" | sed -n 's/.*RESOLUTION=\([^,\n]*\)/\1/p')
|
RESOLUTION=$(echo -n "$line" | sed -n 's/.*RESOLUTION=\([^,\n]*\)/\1/p')
|
||||||
elif [[ $line != "#"* ]]; then
|
elif [[ $line != "#"* ]]; then
|
||||||
URL=$line;
|
URL=$line;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -n $RESOLUTION && -n $URL ]]; then
|
if [[ -n $RESOLUTION && -n $URL ]]; then
|
||||||
echo -e "$RESOLUTION:\n $URL"
|
echo "$RESOLUTION:"
|
||||||
|
echo " $URL"
|
||||||
RESOLUTION=""
|
RESOLUTION=""
|
||||||
URL=""
|
URL=""
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue