Našel jsem fórum, ze kterého jsem potřeboval stáhnout všechny soubory ze všech témat co na něm jsou (administrátor mne za to jistě miluje :). Samozřejmě ruční stahování bylo vyřazeno, protože podle čísla odkazu bylo jasné, že souborů je tam cca 20 000. Na stahování je nejlepší použít wget. Protože z fóra je možné stahovat pouze po registraci a následném přihlášení, je třeba wgetu předhodit i tyto informace. Dalším problémem je pojmenování souboru, které je standardně wgetem vytvořeno tak, že vezme část stahovaného odkazu a skutečné jméno souboru včetně koncovky je reálně jiné, než uložené viz příklad: wget http://www.adresafora.com/download/file.php?id=3751 uloží soubor jako file.php?id=3751.
Jak tedy na to?
1. registrujte se a přihlašte se na fórum
2. zjistěte si tvar odkazu, například to bude http://www.adresafora.com/download/file.php?id=$x, kde $x je číslo přílohy
3. nainstalujte si do FF doplňek export-cookies
4. exportujte cookie přes doplňek ven a uložte na disk, název souboru je cookies.txt
5. v adresáři kde je cookies.txt vytvořte níže uvedený script do kterého zadejte velikost proměné $x (tedy od jakého souboru má stahování začít), také zadejte kde se má skončit (2000) a url, které se má využít. Uložte, udělejte chmod +x na script a spusťte.
#!/usr/bin/perl -w
$x = 1;
while ($x < 2000) {
system ("wget --load-cookies cookies.txt --content-disposition http://www.adresafora.com/download/file.php?id=$x");
$x++;
}
Pokud se názvy souborů ukládají stále špatně (třeba jako file.php?id=3751), tak je možné že takový soubor neexistuje (to poznáte rychle, budou tam soubory se stejnou velikostí a obsahem), pokud mají soubory jiný obsah, ale toto špatné jméno, zkuste updatnout wget na poslední verzi. Má původní verze wget také nefungovala korektně, s novou verzí (wget-1.13.4-28.1.x86_64) mi vše funguje jak má, soubory mají správné názvy a přípony, je tedy možné je jednoduše protřídit. To zda je název soubru převádán korektně serverem je možné zjistit když zavoláte wget --load-cookies cookies.txt -S http://www..., název by měl být v části "Content-Disposition:".
hezkou zábavu při třídění staženého obsahu :)