|
|
@@ -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 '<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 |