# Jak ściągnąć dużą liczbę plików nie przemęczając się?

## kwach

Mam taki problem - zostałem poproszony o ściągnięcie kilkuset (a może i kilku tysięcy) tapet.  Jednak nie widzi mi się na każdą po kolei klkać.... Najchętniej bym wpisał coś w stylu 

```
wget tapety.costam.cos.pl/-jakisfolder-/*.jpg 
```

ale niestety nie dziala.. Może jest jakiś program/skrypt/cokolowiek który pozwala na coś takiego?

Jeśli ktoś coś wie, to niech powie  :Wink: 

Z góry dzięki za wszystkie odpowiedzi

----------

## Redhot

A nie mozesz jakos na ftp wbic jako anonymous i pobrać caly folder?

----------

## kwach

Niestety nie - FTP nie zadziałał

Znalazłem jakiś program do ściągania całych witryn, zapodałem żeby mi jpeg-i o rozmiarze ponad 20kilo ściągnął i jak na razie szuka - znalazł jak na razie tylko kilka plików, ale mam nadzieję że się dokopie i zapisze

----------

## mysz

 *kwach wrote:*   

> Najchętniej bym wpisał coś w stylu 
> 
> ```
> wget tapety.costam.cos.pl/-jakisfolder-/*.jpg 
> ```
> ...

 

```
wget -r -l1 -A 'jpg,JPG' http://costam.cos.pl/zomgtapety/
```

W zależności od struktury katalogów na serwerze pobaw się parametrem przy -l. Generalnie zmanuj wget'a w tej kwestii. :)

----------

## Odinist

lftp, a w nim 

```
mget http://costam.cos.pl/zomgtapety/*.jpg
```

----------

## kwach

 *mysz wrote:*   

> 
> 
> ```
> wget -r -l1 -A 'jpg,JPG' http://costam.cos.pl/zomgtapety/
> ```
> ...

 

niestety nie działa - w MANie napisane jest że -r jest tylko do ftp-a

zaraz bede sprawdzal rozwiazanie z mget-em

EDIT:

wygląda na to że lftp też nie działa (pewnie jak sama nazwa sugeruje też służy do ftp-a   :Smile:  )

Użycie programu do ściągania całych witryn, zapodanie rozsądnego filtra plików i zostawienie go na kilka godzin rozwiązało program

PS. nazwy programu nie podaję bo użyłem go pod innym (konkurencyjnym?) OS-em

Dzięki wszystkim za pomoc

----------

## v7n

jak program jest free, to podaj, bo może podziała na wine/cxoffice

----------

## Odinist

[quote="kwach"] *mysz wrote:*   

> 
> 
> EDIT:
> 
> wygląda na to że lftp też nie działa (pewnie jak sama nazwa sugeruje też służy do ftp-a   )
> ...

 

Dziwne, u mnie działa. Jak sam w manie możesz przeczytać służy też do pobierania z http, https...

----------

## Yatmai

1. czy wszystkie tapetki są na 1. stronce, czy porozwalane na kilka ?  :Smile: 

2. czy jest między nimi jakiś związek w nazwie typu tapeta001.jpg, tapeta002.jpg, etc  :Smile: 

----------

## ffurbo

Strony z tapetkami często są specjalnie konstruowane w ten sposób, aby uniemożliwić ich hurtowe ściągnięcie. Chodzi o to żeby otworzyć każdą podstronę i obejrzeć znajdujące się tam reklamy.

Ja kiedyś trafiłem na taką, gdzie url-em do jpg była zawartość html, tam znajdował się obrazek którego adres generowany był jakoś dynamicznie.

----------

## BeteNoire

 *kwach wrote:*   

> 
> 
> Użycie programu do ściągania całych witryn, zapodanie rozsądnego filtra plików i zostawienie go na kilka godzin rozwiązało program
> 
> PS. nazwy programu nie podaję bo użyłem go pod innym (konkurencyjnym?) OS-em

 

Dla naszego też takowy istnieje:

http://packages.gentoo.org/search/?sstring=httrack

----------

## kwach

Program oczywiście nie free (bo przecież free=open source  :Very Happy:  ), ale shareware - Teleport Pro się zwie.

Co do httrack to chyba go kiedyś na windzie używałem, ale nie wiedziałem że pod Linuksa też jest.

Jeśli chodzi o strukturę stronki to mniej wiecej: costam.cos.pl/Kategoria/Podkategoria/1024x768/tapety-N.jpg (N-numer tapetki).

(A adresu stronki nie podaję, żeby nie było że coś reklamuję  :Wink:  )

EDIT: 

```
lftp :~> mget http://costam.cos.pl/katalog/katalog/1024x768/*.jpg

/katalog/katalog/1024x768/*.jpg: nie znaleziono plików

lftp :~> mget http://costam.cos.pl/katalog/katalog/1024x768/tapety-1.jpg

65021 bajtów przesłany w ciągu 1 sekundy (50.5K/s)

lftp :~>
```

----------

## Yatmai

```
#!/bin/bash

for i in `seq 1 100` 

do

  wget http://pooorno.tapetki.pl/just-kidding/tapetka-$1.jpg

done

```

Kiedyś też miałem dylemat jak ściągnąć wiele plików naraz i napisałem coś takiego, może Ci sie przyda  :Smile: 

----------

## tomborek

 *kwach wrote:*   

>  (bo przecież free=open source  ), 

  ciekawa teoria  :Smile: 

----------

## Yatmai

 *tomborek wrote:*   

>  *kwach wrote:*    (bo przecież free=open source  ),   ciekawa teoria 

 

Rozumiem macie ktoś źródła WinAmp'a ?  :Very Happy: 

----------

## kwach

 *Art.root wrote:*   

>  *tomborek wrote:*    *kwach wrote:*    (bo przecież free=open source  ),   ciekawa teoria  
> 
> Rozumiem macie ktoś źródła WinAmp'a ? 

 

nie wszystko co jest free jest open source, ale za to wszystko (chyba?) co open source jest free  :Very Happy: 

(a poza tym jeśli chodzi o Winampa - możesz sobie tylko 'demo' z ograniczoną funkcjonalnością ściągnąć)

----------

## Arfrever

 *Art.root wrote:*   

>  *tomborek wrote:*    *kwach wrote:*    (bo przecież free=open source  ),   ciekawa teoria  
> 
> Rozumiem macie ktoś źródła WinAmp'a ? 

 

Mylisz "free software" ("wolne oprogramowanie") z "freeware". Winamp należy do freeware.

http://www.gnu.org/philosophy/words-to-avoid.html#Freeware

http://www.gnu.org/philosophy/words-to-avoid.pl.html#Freeware

http://www.gnu.org/philosophy/categories.html#freeware

http://www.gnu.org/philosophy/categories.pl.html#freeware

 *kwach wrote:*   

> nie wszystko co jest free jest open source, ale za to wszystko (chyba?) co open source jest free 

 

Prawie wszystko otwartoźródłowe jest wolnym oprogramowaniem.

http://www.gnu.org/philosophy/category.png

http://www.gnu.org/philosophy/categories.html#OpenSource

http://www.gnu.org/philosophy/categories.pl.html#OpenSource

Sveikinu

Arfrever

----------

## univac^

To może daj url do tych tapet, nie sądzisz, że będzie łatwiej?

----------

## vermaden

O! to jest mysl, jestem za, moze trafia sie jakies ladne  :Wink: 

----------

## kwach

http://www.tapety-na-pulpit.org.pl/

----------

## Yatmai

Wejdź sobie na dowolną kategorię, np Astronauci (pierwsza z brzegu  :Very Happy: ) i zapisz stronkę, powinno to być tapety.php.html, teraz skopiuj to do jakiegoś katalogu (osobny bo bedzie troche śmiacia po drodze  :Very Happy: ) i wgraj tam też skrypt (ja mu wpisałem skrypt.hlp, ale to raczej nieistotne  :Very Happy: )

```
#!/bin/bash

cat tapety.php.html | grep '<a href="http://www.tapety-na-pulpit.org.pl/tapety.php' | grep -v auto > temp.txt

gawk -F"?" '{ print $2 }' temp.txt > temp2.txt

gawk -F\" '{ print $1 }' temp2.txt > temp3.txt

gawk -F"=" '{ print $2 }' temp3.txt > temp4.txt

gawk -F"&" '{ print $1 }' temp4.txt > temp5.txt

cat temp5.txt | sort -u > temp6.txt

for i in `cat temp6.txt`

do

gawk -F\" '{ print $1 }' temp2.txt | grep $i > "$i"3.txt

gawk -F"=" '{ print $3 }' "$i"3.txt > $i.txt

done

for i in `cat temp6.txt`

do

for j in `cat $i.txt`

do

for k in `seq 1 20`

do

wget -P ./tapetki/$i/$j http://www.tapety-na-pulpit.org.pl/$i/$j/1024x768/tapety-$k.jpg

done

done

done

```

Nie jest to optymalizowane (bo mi się nie chce, a projekt i tak jest jednorazowy  :Very Happy: ) i teoretycznie nie trzeba tworzyć tyle tych plików tempX, ale dzięki temu łatwiej się wyłapie gdzie jest błąd. Niemniej, mnie ładnie zadziałało (choć nie ściągałem jeszcze całości  :Very Happy: )

Myślę, że jest to proste jak konstrukcja cepa, więc nie będzie problemów co do czego służy  :Smile: 

----------

