================

== gmgall.net ==
================
É de compreender que sobretudo nos cansamos. Viver é não pensar.

Acompanhando Suas Inscrições no YouTube por RSS

tech rss youtube opml

TL;DR. Escrevi uma ferramenta que converte um CSV com suas inscrições no YouTube em um arquivo OPML com os feeds RSS dos canais. Esse arquivo OPML é importável em quase todos os agregadores RSS. Use o conversor em https://yt2opml.gmgall.net/

Com FreshRSS + extensões, não é necessário nem sair do agregador para assistir aos vídeos.


Procurei colocar RSS de volta na minha vida desde a debacle do Twitter.

Sempre fui fã do padrão RSS. Acho que é a melhor forma de consumo de conteúdo na web. Hoje, é mais importante do que nunca, já que dá liberdade ao usuário de desviar das diversas formas pelas quais a web se tornou uma merda.

Só que eu era uma das folclóricas viúvas do Google Reader. Não tinha me adaptado bem a nenhum outro agregador depois dele. Tentei usar vários, mas nunca parava com nenhum. O que usei por mais tempo depois do Reader foi o Feedly, mas ele nunca virou meu “ponto central” de consumo da web como o Reader foi.

Print de tweet com texto "Eu trocaria fácil todas as minhas redes sociais pelo Google Reader".

Toda viúva do Google Reader desde 2013.

Então fui mantendo o Twitter como “agregador”. Junta isso com o fato de estarem lá várias pessoas que eu gosto e a comodidade falou mais alto. Meu “ponto central” virou o Twitter.

O novo senhor feudal do Twitter ser um déspota mimado me colocou para procurar, mais uma vez, um agregador que pudesse usar rotineiramente.

Estou feliz em dizer que parece que a busca terminou. Estou usando o FreshRSS há uns 15 dias e estou bem satisfeito.

Minha “dieta de informações” melhorou demais. Já não fico tão ansioso com o doomscrolling na timeline do Twitter ou lendo a última polêmica de política que chegou aos trending topics. Estou lendo textos mais longos, sem um algoritmo no caminho.

Foi apenas natural que eu quisesse consumir tudo via RSS, não apenas texto. O próximo candidato óbvio era o YouTube. Com frequência eu abro o app e vejo alguma coisa indicada na home ou então entro numa sequência de Shorts que me fazem gastar um tempão neles enquanto os vídeos dos canais em que sou inscrito mesmo vão ficando para depois.

Minha intuição é que a Google não ia deixar os canais com feeds RSS, justamente para forçar a visita ao site. Fico feliz de estar errado. Todo canal tem um feed (por enquanto?), só é uma funcionalidade um pouco “escondida”.

Os canais no YouTube têm um Channel ID único e a URL dos canais seguem o formato https://www.youtube.com/channel/ID. O feed fica em https://www.youtube.com/feeds/videos.xml?channel_id=ID. Usando como exemplo o canal Tese Onze, temos:

O problema é que ninguém divulga a URL do seu canal nesse formato. Em geral se usa o formato mais amigável https://www.youtube.com/@TeseOnze.

Então, quem quer acompanhar via RSS os vídeos de suas inscrições no YouTube precisa:

  • obter uma lista dos IDs de todos os canais em que é inscrito;
  • gerar uma lista das URLs dos feeds;
  • importar todos os feeds da lista no agregador.

O formato usado no mundo RSS para importar/exportar listas de feeds é o OPML, baseado em XML.

Segue um exemplo de OPML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<opml version="2.0">
	<head>
		<title>mySubscriptions.opml</title>
		<dateCreated>Sat, 18 Jun 2005 12:11:52 GMT</dateCreated>
		</head>
	<body>
		<outline text="Yahoo! News: Technology" description="Technology" htmlUrl="http://news.yahoo.com/news?tmpl=index&amp;cid=738" language="unknown" title="Yahoo! News: Technology" type="rss" version="RSS2" xmlUrl="http://rss.news.yahoo.com/rss/tech"/>
		</body>
</opml>

O padrão OPML é quase autoexplicativo: é simplesmente um elemento <opml> com 2 elementos obrigatórios: <head> e <outline>.

Dentro do 1º vão metainformações do arquivo.

Dentro do 2º vai a lista dos feeds em si, cada um dentro de um <outline>. Os <outlines>s podem ser aninhados (caso se deseje colocar feeds dentro de uma categoria, por exemplo) e claro que uma lista típica vai trazer mais de um feed, mas a intenção aqui é só mostrar o formato. O atributo chave para a gente aqui é o xmlUrl, que é o endereço do feed.

Nós já sabemos o formato usado para importação de feeds e como formar a URL de um feed de um canal no YouTube a partir do seu ID.

Só precisamos obter a lista dos IDs dos canais agora.

O Google Takeout é uma forma de fazer download de todos os registros que a Google possui de um usuário. Basta não esquecer de marcar o YouTube que o arquivo resultante vai conter uma lista de inscrições em Takeout/YouTube and YouTube Music/subscriptions/subscriptions.csv.

O formato é bem simples, é um CSV de 3 colunas:

Channel ID,Channel URL,Channel title
UC0fGGprihDIlQ3ykWvcb9hg,http://www.youtube.com/channel/UC0fGGprihDIlQ3ykWvcb9hg,Tese Onze

Se você é como eu, pensou logo em fazer um shell script que para cada linha do CSV:

  • concatena https://www.youtube.com/feeds/videos.xml?channel_id= com os valores da 1ª coluna;

  • joga o valor resultante dentro de um <outline>, numa propriedade xmlURL.

Provavelmente funcionaria, mas decidi não correr com tesouras dessa vez e usei pacotes JavaScript próprios para processar CSV e OPML.

Se quiser usar no seu navegador, acesse: https://yt2opml.gmgall.net/

Tudo é 100% feito no lado do cliente. O código é de um backender, então as manipulações do DOM provavelmente poderiam ser mais elegantes, mas funciona.

Com o arquivo OPML gerado, foi só importá-lo no FreshRSS. Uma possibilidade muito interessante nele é a instalação de uma extensão que incorpora os vídeos dentro. Assim, não é necessário sair do agregador para assistir aos vídeos. Mostrei como fica no vídeo abaixo.

Bem prático, não?

Comentários

Responda pelo fediverso

Responda pelo fediverso colando a URL abaixo no seu cliente:

https://bolha.us/@gmgall/109915815936744454

Carregar comentários