Úloha 1:

Máme html soubor (Například stáhlý z internetu pomocí programu '''wget''').
Chceme z něj vytáhnout všechny odkazy. Odkaz v html vypadá jako:
<a href="http://google.com">Google</a>
- tedy chceme obsah parametru href každého tagu a.
Problémy:

  • href nemusí nutně následovat hned za a. Odkaz může být <a title="Titulka" href="http://google.com">
  • Na jednom řádku může být více odkazů.
  • Na druhou stranu '''<a''' může být od '''href''' odděleno odřádkováním.
  • => použít jiný separátor? Nebo si soubor předchroustat a zaměnit odřádkování za mezeru (příkazem ''tr'')?
  • BONUS: Převést relativní odkazy (nezačínají [a-zA-Z]*://) na absolutní.

Očekávaný výstup: Seznam jednotlivých odkazů - např:

http://google.com http://adasek.cz texty/dokument.pdf

Popřípadě můžeme seznam vypsat unikátně s četností (''uniq -c'').




Úloha 2:

Úloha zcela praktická a velice rozmanitá:
1. krok: vyber si svůj oblíbený webový komiks.
2. krok: udělej si na něj stahovátko. Tedy script, který stáhne všechny díly doposud vyšlé... nebo script, který nás bude upozorňovat na díly nové.

Jak na to?
Nejjednodušší případ: jednotlivé díly komiksu (juk do html) jsou pojmenovány jako '0001.png','0002.png',..., nebo podobně. Stačí nám tedy script s for cyklem, který vygeneruje odkazy na ony obrázky.

Trošku složitější případ: díly se dají procházet přes stránky http://comics/1 , http://comics/2 , atd. Obrázky samotné jsou pojmenovány nějak jinak.
Opět ve for cyklu, ovšem generujeme adresu stránky, kterou si stáhneme a rozparsujeme - najdeme v něm <img> tag odpovídající dílu comicsu a stáhneme jeho parametr src.

Další potenciální problémy:

  • Adresy comicsu jsou podle data (příkaz ''date'')
  • Rozdělení na kapitoly
  • atd...

Na parsování html by měl stačit ''sed'', ke stahování využijete ''wget'' (který má šírokou škálu možností. Časem se k němu dostaneme). Upozornění na nové díly si můžete třeba poslat mailem (také ho probereme).