Alternatywy dla wget

13

Mam witrynę na serwerze, która jest w zasadzie zbiorem stron HTML, obrazów i dźwięków.

Zgubiłem hasło do tego serwera i muszę pobrać wszystko, co tam jest przechowywane. Mogę przeglądać strony po stronie i zapisywać wszystko, ale strona ma ponad 100 stron.

Używam OSX. Próbowałem użyć, wgetale myślę, że serwer to blokuje.

Czy jest jakaś alternatywa, której mogę użyć, aby pobrać tę zawartość?

Kosmiczny pies
źródło
Jeśli masz fizyczny dostęp do serwera, uruchom komputer w trybie pojedynczego użytkownika i odzyskaj hasło. debuntu.org/…
spuder

Odpowiedzi:

15

Jeśli serwer blokuje wget, najprawdopodobniej robi to na podstawie pola „User-agent:” nagłówka http, ponieważ jest to jedyny sposób, aby wiedzieć w pierwszej kolejności. Może to być również blokowanie twojego adresu IP, w którym to przypadku użycie innego oprogramowania nie pomoże, lub jakiś schemat identyfikujący automatyzację na podstawie tego, jak szybki jest zestaw żądań (ponieważ prawdziwi ludzie nie przeglądają 100 stron w ciągu 3,2 sekundy) . Nie słyszałem o tym, żeby ktoś to robił, ale jest to możliwe.

Nie słyszałem też o sposobie spowalniania wget, ale istnieje sposób na sfałszowanie pola użytkownika użytkownika:

wget --user-agent=""

Będzie według strony podręcznika całkowicie upuścić „User-agent:”, ponieważ nie jest to obowiązkowe. Jeśli serwerowi się to nie podoba, spróbuj tego, --user-agent="Mozilla/5.0"co powinno wystarczyć.

Oczywiście pomocne byłoby wyjaśnienie, dlaczego „uważasz, że serwer to blokuje”. Czy wget coś mówi, czy po prostu ma czas?

Złotowłosa
źródło
o tak! Dzięki. Brakowało mi tego w pomocy wget. Już działa!!!!!!!!!!!!!!!!!!!!!!!!
SpaceDog,
5
wgetma wiele opcji oczekiwania między zapytaniami, ograniczenia stawki lub pobranej kwoty. Sprawdź infostronę, aby uzyskać szczegółowe informacje.
Stéphane Chazelas,
6

Zwykle używam httrackdo pobierania / dublowania treści internetowych z witryny.

$ httrack http://2011.example.com -K -w -O . -%v --robots=0 -c1 %e0

Po uruchomieniu pozostaje struktura katalogów, która jest lokalna i można ją przeglądać. Na przykład:

$ ls -l
total 304
-rw-r--r--  1 saml saml   4243 Aug 17 10:20 backblue.gif
-rw-r--r--  1 saml saml    828 Aug 17 10:20 fade.gif
drwx------  3 saml saml   4096 Aug 17 10:20 hts-cache
-rw-rw-r--  1 saml saml    233 Aug 17 10:20 hts-in_progress.lock
-rw-rw-r--  1 saml saml   1517 Aug 17 10:20 hts-log.txt
-rw-------  1 saml saml 271920 Aug 17 10:22 hts-nohup.out
-rw-r--r--  1 saml saml   5141 Aug 17 10:20 index.html
drwxr-xr-x 10 saml saml   4096 Aug 17 10:21 2011.example.com

Podczas pobierania zobaczysz następujący typ danych wyjściowych:

Bytes saved:    21,89KiB           Links scanned:   12/45 (+4)
Time:   2s                         Files written:   4
Transfer rate:  2,65KiB/s (2,65KiB/s)  Files updated:   1
Active connections:     1          Errors:  7

Current job: parsing HTML file (57%)
 request -  2011.example.com/cgi-bin/hostnames.pl   0B /    8,00KiB

Może być w tle i / lub przerwane, a później wznowione. To tylko wierzchołek góry lodowej pod względem funkcji. Istnieje również GUI do konfigurowania pobierania i monitorowania go w miarę postępu.

Istnieje obszerna dokumentacja na httrackstronie internetowej i przez Google.

slm
źródło