Ú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).