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ć, wget
ale myślę, że serwer to blokuje.
Czy jest jakaś alternatywa, której mogę użyć, aby pobrać tę zawartość?
Odpowiedzi:
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:
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?
źródło
wget
ma wiele opcji oczekiwania między zapytaniami, ograniczenia stawki lub pobranej kwoty. Sprawdźinfo
stronę, aby uzyskać szczegółowe informacje.Zwykle używam
httrack
do pobierania / dublowania treści internetowych z witryny.Po uruchomieniu pozostaje struktura katalogów, która jest lokalna i można ją przeglądać. Na przykład:
Podczas pobierania zobaczysz następujący typ danych wyjściowych:
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
httrack
stronie internetowej i przez Google.źródło