diff --git a/youtube-filter-autogen-channels b/youtube-filter-autogen-channels new file mode 100755 index 0000000..c726244 --- /dev/null +++ b/youtube-filter-autogen-channels @@ -0,0 +1,17 @@ +#!/bin/bash +# Takes a list of YouTube URLs on stdin. URLs for autogenerated channels are written to FD 3, all other URLs go to stdout. +while read -r url +do + if [[ "${url}" == */channel/* ]] + then + header="$(curl -4sL -A 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36' -H 'Accept-Language: en-US,en;q=0.5' "${url}?disable_polymer=1" | \ + tr -d '\n' | \ + grep -Po ']*\s)?class="([^"]* )?channel-header( [^"]*)?".*?]*\s)?id="channel-subheader"')" + if grep -qP ']*\s)?class="([^"]+ )?yt-channel-title-autogenerated[ "]' <<<"${header}" + then + echo "${url}" >&3 + continue + fi + fi + echo "${url}" +done