Last active
September 18, 2018 00:25
-
-
Save terroo/8d238de6154c77f78a912d80ac0e58a4 to your computer and use it in GitHub Desktop.
Como Criar um Script para obter dados do Youtube
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# author: Marcos Oliveira <terminalroot.com.br> | |
# license: MIT | |
# version: 1.0 | |
function get_dados_youtube() { | |
page_video_youtube=$(mktemp) | |
page_canal=$(mktemp) | |
# A variável 1 é um parâmetro de posição | |
wget "$1" -O $page_video_youtube 2>/dev/null | |
id_do_canal=$(cat "$page_video_youtube" | grep 'channelId' | sed 's/.*\=\"//' | sed 's/\".*//') | |
wget "https://www.youtube.com/channel/$id_do_canal" -O "$page_canal" 2>/dev/null | |
# Filtramos o título do canal, que está no HTML armazenado em page_canal | |
titulo_do_canal=$(sed -n '/title/{p; q;}' "$page_canal" | sed 's/<.*>//g' | sed 's/^ //') | |
# Filtramos o número de inscritos, título do víde, visualizações e gosteis ou não com sed e awk | |
num_inscritos=$(cat "$page_canal" | grep yt-subscription-button-subscriber-count-branded-horizontal | sed 's/<[^>]*>/ /g' | awk '{print $NF}') | |
titulo_video=$(cat $page_video_youtube | sed '/title/{p; q;}' | grep title | sed 's/<[^>]*>//g' | uniq | sed 's/...YouTube.*//') | |
views_video=$(cat $page_video_youtube | grep watch-view-count | sed 's/<[^>]*>//g') | |
likes=$(cat $page_video_youtube | grep like-button-renderer-like-button-unclicked | sed 's/<[^>]*>//g ;s/ //g') | |
dislikes=$(cat $page_video_youtube | grep like-button-renderer-dislike-button-unclicked | sed 's/<[^>]*>//g ;s/ //g') | |
echo "Nome do canal: $titulo_do_canal" | |
echo "Número de inscritos: $num_inscritos" | |
echo "Título do vídeo: $titulo_video" | |
echo "Visualizações: $views_video" | |
echo "Gosteis: $likes" | |
echo "Não gosteis: $dislikes" | |
} | |
get_dados_youtube "$1" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment