URI: 
       imdb2gopherbay - annna - Annna the nice friendly bot.
  HTML git clone git://bitreich.org/annna/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/annna/
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       imdb2gopherbay (1413B)
       ---
            1 #!/bin/sh
            2 
            3 export PATH="/home/annna/bin:$PATH"
            4 
            5 if [ $# -lt 1 ];
            6 then
            7         printf "usage: %s imdburi\n" "$(basename "$0")" >&2
            8         exit 1
            9 fi
           10 
           11 imdburi="$1"
           12 
           13 # Josuah Ver0:
           14 #extractjson() {
           15 #awk '
           16 #/<script id="__NEXT_DATA__"/ {
           17 #        match($0, "<script id=\"__NEXT_DATA__\"[^>]*>");
           18 #        s = substr($0, RSTART + RLENGTH);OB
           19 #        match(s, "</script>");
           20 #        s = substr(s, 1, RSTART - 1);
           21 #        print s;
           22 #}'
           23 #}
           24 
           25 # Raw Ver1:
           26 #title="$(curl -H 'Accept-Language: en' -s "${imdburi}" \
           27 #        | grabtitle \
           28 #        | sed 's, - IMDb,,')"
           29 
           30 # Ver1:
           31 #title="$(curl -H 'Accept-Language: en' -s "${imdburi}" \
           32 #        | extractjson \
           33 #        | json2tsv \
           34 #        | grep associatedTitle.originalTitleText.text )"
           35 #        | head -n 1 \
           36 #        | cut -f 3)"
           37 
           38 #[ -z "${title}" ] && exit 1
           39 #
           40 #printf "%s\n" "${title}"
           41 
           42 # Evil_Bob Ver2: Thanks!
           43 curl -H 'Accept-Language: en' \
           44         -H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0' \
           45         -s "${imdburi}" \
           46 | extractjson | sed 1q | json2tsv | LC_ALL=C awk '
           47 BEGIN {
           48         FS = OFS = "\t";
           49 }
           50 $1 == ".@type" { type = $3; }
           51 $1 == ".description" { description = $3; }
           52 $1 == ".name" { name = $3; uriname = gensub(" ", "+", "g", $3); }
           53 $1 == ".aggregateRating.ratingValue" { rating = $3; }
           54 $1 == ".datePublished" { published = substr($3, 1, 4); }
           55 END {
           56         printf("gopher://bay.parazy.de:666/1/q.dcgi?%s | %s (%s) from %s, rating: %s: %s\n",
           57                 uriname, name, type, published, rating, description);
           58 }'
           59 
           60