___ __ _ _ __ _   _  ___   ___ _ __   __ _  ___ ___ 
 / __/ _` | '__| | | |/ _ \ / __| '_ \ / _` |/ __/ _ \
| (_| (_| | |  | |_| | (_) |\__ \ |_) | (_| | (_|  __/
 \___\__,_|_|   \__, |\___(_)___/ .__/ \__,_|\___\___|
                |___/           |_|                   

Hromadné stahování podcastů z RSS

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
Artikkelit a66ey

Lisää kommentti

Sähköpostiosoitettasi ei julkaista. Kommentit moderoidaan.


bg  cs  da  de  el  en  es  et  fi  fr  hu  it  lt  lv  nb  nl  pl  pt  ro  ru  sk  sl  tr  uk 
.:optimized for POSIX text browsers:.