Po dlouhé době(nebudu tu popisovat jak se mám špatně k smrti kvůli toho kde žiju :'( ) jsem zase něco malého naprogramoval. Tedy ani ne tak já, toto jsou splácaniny programu 3 lidí: 1)Ten co udělal to GUI které vidíte, já jsem ho jen upravil 2)Další program uměl stahovat jen po jednom ale stahovat uměl, což ne ten první program 3)Můj vlastní kód..
A co vlastně ten program umí: Umí stahovat celkem na 5 způsobů a sice:
- Hledání pomocí YouTube API na daný výraz ve počtu videích až 999; poté stažení vybraných
- Hledání pomocí YouTube API na daný výraz ve počtu videích až 999; poté stažení všech
- Vyparsování zdrojového kódu hledání v počtu neomezené; poté stažení vybraných
- Vyparsování zdrojového kódu hledání v počtu neomezené; poté stažení všech
- Nahrání videí do schránky a přímé stažení videí z podporovaných serverů(akt. pouze YouTube)
Tyto módy stahování ještě patrně přidám:
- Možnost zapnout hlídání schránky, takže se do schránky načtou adresy/a YT videí a ty se vloží do programu; asi se bude stahovat až uživatel potvrdí že vkládání dokončil, možná je ale i druhá možnost
- Vkládání do TextBoxu programu ručně
- Hloubkové automatické hledání – čili vloží se adresa prvního hledání: a nastaví se jak dále se má vyparsovat, tedy se jen změní to číslo na konci. Problém je ten že se mi nepovedlo implementovat žádný browser ani jádro(Trident, Gecko, Webkit) a bez přihlášení, popř. jiné personifikace to neukáže tak dobré výsledky; pokud se mi toto podaří vyřešit, určitě to implementuji
- Postupné přidávání nových vyparsování výsledků – toto je náhrada za bod 4) dokud se mi to nepodaří vyřešit..
Program ve výchozím stavu stahuje ve formátu MP4. Pokud je k dispozici formát MP4 HD 720, stáhne v něm, pokud ne, zkouší to s formátem MP4 480, pokud ani toto není k dispozici, stáhne v flv 240 – to by měli mít dostupné všechny videa.
V plánu je ještě než to začnu více používat rozpoznávání zda ten soubor/video již stahnuto nebylo. K tomu si budu muset napsat vlastní knihovnu médií. Trvalo mi to docela dlouho(skoro 5 dní) to napsat. Prvně jsem zkoušel ty WebBrowsery, které jsem nevyřešil, poté mi nefungovala třída XmlDocument. Chtěl jsem do ní ve smyčce načítat xml a vždycky opravit tu chybu kterou mi to vyhodilo. Totiž html kód YT není úplně validní.
Ale pak mi to začalo vyhazovat úplně nesmyslné chyby, tak jsem se na to vykašlal a za dnešek jsem dopsal XmlParser, který mi to opravil ty chyby a řekl mi o všech tazích které v tom byly. Také bych chtěl naučit program stahovat playlisty oblíbené a ostatní playlisty(na ostatní playlisty je možná nějaké API, na oblíbené nevím). Chtěl jsem tu toho napsat víc ale opravdu mi už ani trochu neslouží paměť.. :'(


