The little things give you away... A collection of various small helper stuff
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

38 lines
986 B

  1. #!/bin/bash
  2. while read -r url
  3. do
  4. if [[ "${url}" == '* '* ]]
  5. then
  6. prefix='* '
  7. url="${url:2}"
  8. else
  9. prefix=''
  10. fi
  11. if [[ "${url}" =~ ^https?://(www\.)?youtube\.com/ ]]
  12. then
  13. if [[ "${url}" == *'?'* ]]
  14. then
  15. rurl="${url}&disable_polymer=1"
  16. else
  17. rurl="${url}?disable_polymer=1"
  18. fi
  19. page="$(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' "${rurl}")"
  20. canonical="$(grep -Po '<link itemprop="url" href="http://www\.youtube\.com/\Kuser/[^"]+' <<< "${page}")"
  21. if [[ "${canonical}" ]]
  22. then
  23. echo "${prefix}https://www.youtube.com/${canonical}"
  24. else
  25. canonical="$(grep -Po '<link itemprop="url" href="http://www\.youtube\.com/\Kchannel/[^"]+' <<< "${page}")"
  26. if [[ "${canonical}" ]]
  27. then
  28. echo "${prefix}https://www.youtube.com/${canonical}"
  29. else
  30. echo "${prefix}${url}"
  31. fi
  32. fi
  33. else
  34. echo "${prefix}${url}"
  35. fi
  36. done