Narazila jsem nedávno na fajn podcast o retro výpočetní technice Retro Computing Roundtable. Nahrávají více či méně pravidelně už přes deset let. A za tu dobu se jim v archivu nasbíralo více materiálu než by se mi kdykoliv chtělo stahovat po jednom. Naštěstí mají jako správný web i RSS kompletního archivu*. Jelikož nemám na podcasty žádný fancy program, protože jich poslouchám hodně málo a na Androidu se mi nechtělo stahovat žádný udělátka přecpaný reklamou a sledovacím malwarem, rozhodla jsem se stáhnout si archivní epizody takřečeno svépomocně. A GNU/Linux k tomu skýtá ideální nářadí.
Nástroj wget Hrvoje Nikšiće patří už léta ke standardní výbavě GNU/Linux systémů. Je to neinteraktivní udělátko na stahování souborů.
Perl je Perl. Svižný skriptovací jazyk postavený na základech C a Unixu.
A stáhnou .mp3 epizody z XML aniž bychom znali jejich přesné adresy jde za použití regulérních výrazů.
Celá věda, celý ten hacking co ušetří několik, u Androidů až desítek, mega v dedikovaných appkách pak vypadá asi takhle:
perl -lne '
wget $1
if /(https:*.+mp3)/' rcrpodcast-archive.xml
perl -lne
l procesuje konce řádků
n uzavře program do WHILE smyčky
e rozběhne program v terminálu
v perlu můžeme k voláním na systémovým použít ` .
$1 je standardní proměnná pro první výsledek regulérního výrazu
samotný výraz znamená "pro cokoliv co začíná na https a končí na mp3"
na konci je XML soubor s rss archivem
A pak už jen stačí počkat až se to všechno stáhne. A že wget i perl najdeme i u Androidího termuxu, tak touhle magickou formulkou můžeme bez dalších appek a pitomostí nastahovat z XML podcasty i přímo do kapsy.
-
- od epizody 262 přešli na nový hosting a starší díly mají v archivu
Din e-mailadresse vil ikke blive offentliggjort. Kommentarer bliver modereret.