Não faço ideia do que você está usando, mas a maneira correta de captar o conteúdo da página é pelo API do YouTube . Você pode pesquisar por tendências . Ele lida com boas respostas JSON que você pode ajustar para o que quiser.
A própria página deles parece estar usando a API, ou talvez uma versão privada, mas os dados estão lá, são apenas adiados. Aqui está uma das imagens:
<img width="196" onload=";__ytRIL(this)" alt="" height="110" src="/yts/img/pixel-vfl3z5WfW.gif" data-thumb="https://i.ytimg.com/vi/Rqa9ph0cWSA/hqdefault.jpg?custom=true&w=196&h=110&stc=true&jpg444=true&jpgq=90&sp=68&sigh=Vt5qpPXMxoaOiEG4ohSszdhmMJU" data-ytimg="1" >
Normalmente você poderia consertar essa imagem fazendo uma simples substituição de string, mas o Youtube alterará a ordem dos atributos entre as atualizações. Você precisa processar o HTML e converter o atributo data-thumb
para src
(e excluir uma carga de mais tags). E então você precisaria baixar esses (porque wget
não terá) e então converter os links.
Mas isso é consideravelmente mais trabalho do que apenas usar a API do primeiro parágrafo.
Sem mencionar que o que você está fazendo é todo tipo de coisa contra os termos de serviço deles.
Então, minha resposta para isso é a mesma que a curta: Use a API.
Se você está realmente determinado a fazer isso da maneira errada, você pode manipular um navegador real, obtê-lo para carregar a página e, em seguida, despejar o DOM (o que é realmente renderização).
Na verdade, é bastante simples e serve a um propósito real para testar a automação e gerar capturas de tela de páginas, mas você ainda terá que passar por algo para converter os links e baixar os recursos. Você provavelmente está entediado de mim dizendo isso agora, mas, basta usar a API ☺