|
- #!/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 '<div\s([^>]*\s)?class="([^"]* )?channel-header( [^"]*)?".*?<div\s([^>]*\s)?id="channel-subheader"')"
- if grep -qP '<span\s([^>]*\s)?class="([^"]+ )?yt-channel-title-autogenerated[ "]' <<<"${header}"
- then
- echo "${url}" >&3
- continue
- fi
- fi
- echo "${url}"
- done
|