Spraw, aby wget nie pobierał plików większych niż rozmiar X.

11

Okej, poddaję się. Jak mogę ograniczyć rozmiar pobieranych plików, na przykład powiedzieć, że nie chcę żadnych plików większych niż 2 MB?

Nataniel
źródło

Odpowiedzi:

6

Jedyną dostępną opcją ograniczającą, która wgetobsługuje, jest -Qzmiana przydziału. Nie jest to jednak to, czego chcesz, ponieważ zatrzyma się po łącznym limicie wszystkich pobranych plików, a nie indywidualnie. Pipingowanie każdego linku osobno za pomocą -Qprzełącznika również nie będzie działać, jak wyjaśniono na stronie podręcznika .

Nie wiem, z jakiego środowiska korzystasz, ale przeszukiwacz obsługuje ograniczenia wielkości plików o maksymalnej długości bajtów i działa na platformie Java.

z ich instrukcji obsługi :

  • maksymalna długość bajtów

Maksymalna liczba bajtów do pobrania na dokument. Obetnie plik po osiągnięciu tego limitu.

Domyślnie ta wartość jest ustawiona na niezwykle dużą wartość (w zakresie eksabajtów), która nigdy nie zostanie osiągnięta w praktyce.

John T.
źródło
Hmmm. W porządku. To powtórzyło wiele z tego, co znalazłem, ale i tak dobrą odpowiedź. Nie wiedziałem jednak, że Heritrix obcięła pliki zamiast je pomijać.
Nathaniel
3

Jeśli chodzi o „ pobieranie maks. 2 MB ”, a nie „ pobieranie plików o maks. 2 MB ”, możesz po prostu ograniczyć wyjście zapisane na dysku.

wget -O - $url |head -c 1024(z opcjonalnym > $SaveAsFile) -> zapisuje pierwszy KB, a reszta zostaje obcięta.

(wystarczy zobaczyć „ OK: $ Message ”, nie zabijając mojego / tmp tonami komunikatów o błędach z pilota ;-))

Tabakhase
źródło
1

Jest to możliwe przy pomocy łatek innych firm: http://yurichev.com/wget.html

Dennis Yurichev
źródło
Przejrzyj ten post , musisz.
James Mertz
@KronoS jest tam przycisk „edytuj”, jeśli uważasz, że odpowiedź wymaga rozszerzenia. Osobiście wydaje się, że jest w porządku, biorąc pod uwagę, że zdanie nr 1 połączonej strony wyjaśnia nową opcję…
supervacuo