Aunque usted no lo crea, YouTube puede darte las publicaciones de videos recientes servido como si fuese un canal RSS.
Evidencia que respalda mis locuras:
Como pueden ver es Thunderbird, que tiene un cliente RSS integrado, mostrando los videos recientes del admin, y la verdad hacerlo no es tan difícil.
Si quieren hacerlo es tan fácil como usar el siguiente enlace en tu cliente RSS:
https://www.youtube.com/feeds/videos.xml?channel_id=THE_CHANNEL_ID_HERE
Donde van a reemplazar THE_CHANNEL_ID_HERE por el ID del canal de su interés. ¿Qué cómo obtengo el ID0? También es simple. He aquí un tutorial cortito.
Con el enlace listo ahora solo agregamos el feed a nuestro cliente de preferencia, y listo.
Si quieren probar para que vean que funciona les dejo el enlace al canal de LinuxChad, que es lo que vieron como ejemplo.
https://www.youtube.com/feeds/videos.xml?channel_id=UCa-lsDvCuyK6ZmkRLDlnzsg
Es una buena opción si quieres seguir canales pero no deseas hacer una cuenta de Google.
7 Me gusta
Está muy bien para no caer en el Doom Scrolling.
Yo uso FreeTube, que es una herramienta de código abierto que funciona como “proxy” de YouTube. Los videos van mucho más rápido, no hay publicidad, no necesitas cuenta de Google para suscribirte, descargar videos y varias cosas más.
Es como si el programa (lo digo así porque no ví cómo funciona por detrás) scrapeara los videos desde la página de YouTube para reproducirlos en su propio reproductor. Esto evita que deba ejecutarse todo el código bloat de la misma YT y no salte publicidad.
Es muy configurable en cuanto a los últimos videos de tus suscripciones y sobre todo con las sugerencias de nuevos videos.
La desventaja es que no se puede comentar o dar me gusta, pero vale totalmente la pena
Está muy bueno y la verdad me ayuda… generalmente ni me entero de cuándo el admin manda vídeos porque no uso mucho Youtube y uso Invidious en vez…
Pero por lo menos puedo saber algo usando un cliente de RSS sin invadir mi privacidad con Youtube.
1 me gusta
Buenas, yo ha había hecho un pequeño script justo para esto. Os lo comparto:
#!/usr/bin/bash
# Description
# Transform URL passed as argument in the RSS YouTube channel.
# Usage
# canal_youtube <URL>
set -e
set -u
if [[ "$#" -eq 0 ]]; then
read -r url
else
url="$1"
fi
readonly url
channel=$(curl "$url" 2> /dev/null | \
grep -Po "https:\/\/www\.youtube\.com\/feeds\/videos\.xml\?channel_id=[\w-]*" | \
head -n 1)
readonly channel
echo "$channel"
exit 0
Os dejo un ejemplo de la salida:
~$ canal_youtube https://www.youtube.com/@LinuxChad/featured
https://www.youtube.com/feeds/videos.xml?channel_id=UCa-lsDvCuyK6ZmkRLDlnzsg
Un saludo
6 Me gusta
Excelente info. Yo lo empleo para casi todo, pero prefiero newsboat
Aquí la salida y la configuración.
3 Me gusta
Investigué un poco, y al parecer Invidious permite sacar directamente el RSS de un canal, debajo del nombre del canal hay un botón denominado “RSS”, ahí se puede suscribir, yo lo hice con el Canal de Linuxchad.
Buenas, yo ha había hecho un pequeño script justo para esto. Os lo comparto
Buenas,
El script en Bash funciona bien en general pero es cierto que a veces el ID del canal no lo coge perfectamente así que he usado una expresión regular algo más específica:
- Comienzan por “UC”.
- Tiene una longitud de 24 caracteres.
Sabiendo esto, y dado que estamos en terreno de las expresiones regulares, he actualizado el script a una versión en Perl:
#!/usr/bin/perl
use strict;
use warnings;
use v5.30.0;
use HTTP::Tiny;
my $url;
if (@ARGV >= 1) {
$url = $ARGV[0];
} else {
chomp($url = <STDIN>);
}
die ">>> ERROR: No URL provided" unless defined $url && length $url;
my $http = HTTP::Tiny->new(
timeout => 10,
agent => 'perl-http-tiny',
);
my $response = $http->get($url);
die ">>> ERROR: HTTP $response->{status}" unless $response->{success};
my $content = $response->{content};
my ($channel_id) =
$content =~ m{
channel_id=
(
UC # YouTube prefix
[A-Za-z0-9_-] # Valid characters
{22} # ID length (total = 24)
)
}x;
die ">>> ERROR: Channel ID not found" unless $channel_id;
my $feed = "https://www.youtube.com/feeds/videos.xml?channel_id=$channel_id";
die ">>> ERROR: Channel feed not found" unless $feed;
say "$feed";
exit 0;
__END__
=head1 NAME
canal_youtube - Transform URL passed as argument in the RSS YouTube channel
=head1 DESCRIPTION
This script retrieves the HTML content of a YouTube channel page and
extracts the corresponding RSS feed URL of the channel.
The extraction is done by locating the internal YouTube C<CHANNEL_ID>,
which is a stable identifier starting with C<UC> and having a total
length of 24 characters. Once the channel ID is found, the RSS feed URL
is constructed in the following form:
https://www.youtube.com/feeds/videos.xml?channel_id=CHANNEL_ID
The script performs the HTTP request using the core Perl module
L<HTTP::Tiny>, avoiding external dependencies such as C<curl>.
=head1 INPUT
The YouTube channel URL can be provided in one of two ways:
=over 4
=item * As the first command-line argument
=item * Via standard input (if no arguments are given)
=back
=head1 EXAMPLES
Provide the URL as an argument:
canal_youtube https://www.youtube.com/@somechannel
Provide the URL via standard input:
echo "https://www.youtube.com/@somechannel" | canal_youtube
=head1 AUTHOR
MaterazziSan
=head1 COPYRIGHT AND LICENSE
This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.
=cut
Un saludo
2 Me gusta