20 lines
613 B
Bash
Executable file
20 lines
613 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
URL="$1"
|
|
NAME=$(echo "$URL" | awk -F / '{ print $NF }')
|
|
HTML="html/${NAME}.html"
|
|
CHANNEL_ID=$(scraper -a content 'meta[property="og:url"]' < "$HTML" | awk -F / '{ print $NF }')
|
|
TITLE=$(scraper -a content 'meta[property="og:title"]' < "$HTML")
|
|
XML_URL="https://www.youtube.com/feeds/videos.xml?channel_id=${CHANNEL_ID}"
|
|
|
|
json_escape() {
|
|
echo "$1" | jaq --raw-input .
|
|
}
|
|
|
|
JSON_TITLE=$(json_escape "$TITLE")
|
|
JSON_XML_URL=$(json_escape "$XML_URL")
|
|
JSON_URL=$(json_escape "$URL")
|
|
|
|
printf '{"title": %s, "xmlUrl": %s, "htmlUrl": %s}\n' "$JSON_TITLE" "$JSON_XML_URL" "$JSON_URL" > json/"$NAME".json
|