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