Logo Tyfloświat
  • Home
  • Testy
  • Site Sucker: prosty sposób na zarchiwizowanie dowolnej strony internetowej w systemie macOS
drewniane litery wysypane na stół

Mówi się, że w Internecie nic nie ginie. Niestety to powiedzenie nie zawsze jest prawdziwe. Wiele niegdyś łatwo dostępnych treści jest na ustach Internetowych poszukiwaczy skarbów. Istnieją co prawda strony takie jak na przykład znane wszystkim Wayback Machine, ale te strony również podlegają różnego rodzaju legislacjom prawnym które mogą obligować je do usuwania niektórych treści. I tutaj do akcji wkracza bohater dzisiejszego artykułu, czyli Macowa aplikacja Site Sucker.

Pozwala ona pobrać dowolną stronę Internetową na nasz dysk, dzięki czemu możemy przeglądać jej zasoby, nawet jeżeli nie mamy dostępu do Internetu. Co więcej możemy skopiować jej zawartość w bezpieczne miejsce. Gdy adres strony się zmieni lub jakieś treści zostaną usunięte i/lub zmodyfikowane to my nadal będziemy mieli nasze lokalne archiwum.

Site Sucker dostępny jest do pobrania ze sklepu AppStore a także ze strony producenta

Okno główne

Po uruchomieniu ukaże się nam minimalistycznie wyglądające okno główne aplikacji. Elementem, który otrzyma fokus klawiatury jako pierwszy będzie pole do wprowadzenia adresu URL strony jaką chcemy pobrać. W najprostszym wariancie wystarczy taki adres podać i wcisnąć klawisz Return aby natychmiast rozpocząć pobieranie. Aplikacja Site Sucker posiada jednak szereg opcji i ustawień, które pozwalają nam dostosować co i jak się pobiera. Idąc od góry okna możemy natrafić na następujące pozycje:

  • Pasek narzędzi: znajdują się na nim funkcje, które dotyczą bezpośrednio zaznaczonych elementów a także aktualnego pobierania plików;
    • History: pozwala wybrać uprzednio pobierany adres z historii w celu uaktualnienia jego kopii;
      • Settings: Otwiera ustawienia aktualnego pobierania;
      • Queue: otwiera kolejkę aktualnie pobieranych elementów;
      • Log: Otwiera aplikację Konsola z dziennikiem aktualnego pobierania;
      • File: Pokazuje w Finderze aktualnie zaznaczony plik;
      • Folder: Pokazuje w Finderze aktualnie zaznaczony katalog;
      • Download: Pobiera aktualny adres;
      • Pause: Wstrzymuje pobieranie;
      • Stop: Zatrzymuje pobieranie;
      • Next: Porzuca pobieranie aktualnego pliku i przechodzi do następnego;
    • URL: Pole pozwalające wprowadzić adres URL który chcemy pobrać;
    • Tabela: Zawiera status pobierania stron;
    • Tabela: Zawiera status każdego wątku pobierania.

Dostosowywanie pobierania

Jak wynika z opisu okna głównego znajdującego się powyżej, aplikacja może być banalnie prosta w obsłudze; wpisujemy adres, klepiemy w Return i czekamy aż nasza ulubiona strona zostanie zachowana na dysku. Jednak nie zawsze wszystko idzie zgodnie z planem albo nie zawsze chcemy pobrać absolutnie wszystko. Dlatego też otrzymujemy do dyspozycji zestaw potężnych narzędzi, które pozwalają nam dostosować niemal każdy aspekt pobierania.

Aby otworzyć okno ustawień wciskamy nietypowo skrót Command + średnik. Główny interfejs wygląda z grubsza tak że u góry mamy pasek narzędzi z kategoriami, pod spodem znajdują się ustawienia dotyczące aktualnej kategorii a na samym dole znajdują się następujące przyciski:

  • Help: otwiera pomoc dla danej kategorii;
  • Save as user defaults: Zapisuje nasze ustawienia jako domyślne;
  • Cancel: Odrzuca niezachowane zmiany;
  • Apply: Stosuje zmiany.

Poniżej opiszę kategorie w raz z najważniejszymi ustawieniami. Nie jest to ich kompletna lista, dlatego zachęcam do samodzielnej eksploracji.

General

  • Ignore robot exclusions: Kontroluje czy aplikacja ma parsować plik robots.txt i nie pobierać plików które się w nim znajdują. Plik Robots zawiera informacje dla wyszukiwarek internetowych czego mają nie indeksować. Dobrym pomysłem jest zostawienie tej opcji nieoznaczonej, gdyż możemy sobie przypadkowo ściągnąć na dysk pół Internetu 😄;
  • Ignore rel=”nofollow”: Kontroluje czy linki z atrybutem nofollow mają być pomijane. Na przykład Facebook dodaje ten atrybut do każdego linka prowadzącego poza stronę tej platformy;
  • Include supporting files: Kontroluje czy aplikacja Site Sucker ma pobierać pliki nie będące bezpośrednio dokumentami takie jak obrazki czy pliki CSS. Zaznaczenie tej opcji nadpisze wszystkie ewentualne filtry;
  • Always download HTML and CSS: Kontroluje czy aplikacja ma zawsze pobierać świeże wersje dokumentów HTML, nawet jeżeli teoretycznie nie zaszły w nich żadne zmiany od czasu ostatniego pobrania;
  • Download error pages: Kontroluje czy aplikacja ma pobrać strony błędów takie jak znane chyba wszystkim 404 Not Found;
  • Ask for destination: Kontroluje czy aplikacja ma pytać o miejsce zapisu pobranych plików;
  • Connections: Kontroluje ile jednoczesnych połączeń ma być wykorzystywane do pobierania stron. Rozmyślne korzystanie z tej opcji może dać wymierne efekty natomiast zbyt duża liczba połączeń może skończyć się zbanowaniem naszego adresu IP przez serwer;
  • Login dialog: Pozwala wybrać kiedy ma pojawiać się okno logowania do stron chronionych hasłem. Możliwe do wybrania opcje to:
    • Display when necessary; Okno pojawia się, kiedy to konieczne (strona wymaga logowania a w pęku kluczy nie znajdują się pasujące dane);
      • ALways display: Okno logowania pojawia się za każdym razem;
      • Never display: Pliki z za muru nie będą pobierane.
    • File replacement: Pozwala poinstruować program, kiedy ma nadpisywać pliki które już kiedyś pobraliśmy. Dostępne do wyboru opcje to:
      • Never: pliki nigdy nie są nadpisane nawet, jeżeli na serwerze istnieją nowsze pliki;
        • Always: Pliki są zawsze nadpisywane, nie zależnie od ich modyfikacji;
        • With newer: Pliki są pobierane tylko gdy istnieją nowsze wersje na serwerze;
      • File modification: Pozwala wybrać co program ma zrobić z pobranymi plikami
        • Localize: Wszystkie pliki HTML, CSS i JavaScript zostaną skonwertowane tak, aby mogły być odtwarzane offline. Wszystkie ścieżki absolutne (https://tyfloswiat.pl/test) zostaną zamienione na relatywne (/users/Nuno/Documents/Projekty/Tyfloswiat/test);
          • Delete after analysis: Pliki HTML, CSS i JavaScript zostaną usunięte, chyba że są one uwzględnione w filtrach;
          • None: Nie rób nic;
        • Destination folder: Pozwala wybrać lokalizację pobieranych plików;

Log

W tej zakładce możliwe jest ustawienie zdarzeń jakie mają być logowane do konsoli. Możliwe do wyboru opcje to:

  • Log Errors: Zaznaczenie tej opcji spowoduje logowanie informacji o błędach. Dzięki temu możliwe jest ustalenie ewentualnej przyczyny problemu;
  • Log Warnings: Zaznaczenie tej opcji powoduje logowanie ostrzeżeń. Ostrzeżenia to na przykład informacja o małej ilości wolnego miejsca;
  • Log final status: Pozwala logować informacje o ostatecznym stanie pobierania, (co ile i jak się pobrało);
  • Log media types: Loguje informacje o nowych pobieranych typach plików;
  • Log download history: Zapisuje historię pobierania do dziennika.

Limit

Ta zakładka pozwala nam ograniczyć pobierane przez program pliki. Ograniczenie działa, gdy dane pole wyboru jest zaznaczone. Dostępne do wyboru opcje to:

  • Maximum number of levels: kontroluje ile poziomów w głąb program ma pobierać. ustawienie tej wartości na 2 spowoduje pobranie wszystkich linków z podanej strony, ale adresy znajdujące się na tych podstronach już nie zostaną pobrane;
  • Maximum number of iles: Kontroluje ile maksymalnie plików może zostać pobranych;
  • Minimum file size: Kontroluje minimalny rozmiar pobranego pliku (w KB). Opcja ta pozwala na przykład na ominięcie banerów, miniaturek i innych mało znaczących plików;
  • Maximum file size: Kontroluje maksymalny rozmiar pobranego pliku (w KB). Opcja ta pozwala na uniknięcie pobierania ogromnych plików takich jak wielogigabajtowe archiwa;
  • Minimum image size: Kontroluje minimalną rozdzielczość pobieranych obrazów;

Request

Ta zakładka pozwala dostosować w jaki sposób SiteSucker łączy się z serwerami internetowymi. Dostępne do wyboru opcje to:

  • Identity: Pozwala wybrać pod jaką przeglądarkę będzie podszywała się aplikacja. Niektóre strony zachowują się inaczej na różnych przeglądarkach;
  • Attempts: Pozwala wybrać ile prób ponownego łączenia wykona aplikacja w razie niepowodzenia;
  • Timeout: Pozwala wybrać czas jaki musi upłynąć zanim aplikacja uzna niepowodzenie pobierania;
  • Delay: Pozwala ustawić interwał pobierania plików. Pozwala to uniknąć tamy prędkości przy pobieraniu dużej ilości danych.

URL

Ta zakładka pozwala dostosować dokładnie jakie adresy URL są pobierane. Dostępne do wyboru opcje to:

  • Check all links: Sprawdza wszystkie linki pod kątem ich poprawności nawet jeżeli są one wykluczone z pobierania. Narzędzie przydatne, jeżeli chcemy przeskanować naszą stronę w poszukiwaniu martwych linków;
  • Scan comments for URLs: Pozwala skanować komentarze HTML w poszukiwaniu adresów internetowych. Czasami może t o spowodować pobieranie rzeczy, które normalnie nie są dostępne do pobrania;
  • Thread ambiguous URLs as folders: Jeżeli adres URL nie zawiera ukośnika ani rozszerzenia pliku zostanie on zapisany jako katalog;
  • Download links in PDFs: Kontroluje czy linki zawarte w dokumentach PDF mają być pobierane;
  • URL constraint: Pozwala wybrać ograniczenie pobieranych adresów URL. Dostępne opcje to
    • None: Nie ma żadnych ograniczeń, chyba że zaznaczono inaczej w wykluczeniach. Teoretycznie może to doprowadzić do “pobrania całego Internetu”, więc należy uważać.
      • Host: Pobiera pliki wyłącznie z aktualnego hosta. Czyli dla strony www.mojastrona.pl zostałyby pobrane pliki z adresu mojastrona.pl, mojastrona.pl/pliki, ale już pomoc.mojastrona.pl nie;
      • Host + 1: Pobiera pliki z macierzystego hosta plus pierwsze wystąpienie linków z innych hostów;
      • Subdomains: Pobiera wszystko z hosta macierzystego i jego subdomen;
      • Directory: Pobiera tylko aktualny katalog;
      • URL Settings: Sugeruje się wyrażeniami z adresów do zawarcia i wykluczenia.

Path

Ta zakładka pozwala dostosować jak nazywane są pobierane pliki. Dostępne do wyboru opcje to:

  • Ignore file name in headers: Zaznaczenie tej opcji spowoduje ignorowania nagłówka HTTPContentDisposition. Nagłówek ten pozwala dostosować nazwę pobieranego przez przeglądarkę pliku niezależnie od jego adresu;
  • Replace special characters with _: Zaznaczenie tej opcji spowoduje zamianę znaków specjalnych lub/i niedozwolonych na znak podkreślenia.
  • Replace: Zakładka ta pozwala wprowadzić wyrażenia regularne dostosowujące nazwy pobieranych rzeczy w bardziej zaawansowany sposób.

File type

  • Filter: Pozwala ustawić jakie typy plików chcemy pobrać. Jeżeli chcemy aby ta opcja działała to musimy zmienić opcję “Allow all file types” nad którąś z innych;
  • Custom types: Pozwala dodać własne typy plików do istniejącej listy;
  • HTML Types: pozwala kontrolować jakie typy plików program traktuje jak HTML;
  • Replace: Pozwala zamieniać ciągi znaków w HTML i Java Script. Ta opcja znacznie wykracza poza zakres tego artykułu.

Scripts

  • Preanalysis script: Jaki skrypt ma zostać uruchomiony przed rozpoczęciem pobierania;
  • Postanalysis script: Jaki skrypt ma zostać uruchomiony po rozpoczęciu pobierania;

Podsumowanie

Jak widać wielką siłą programu site sucker jest jego budowa. Skorzystać z niego może każdy a po zaawansowane opcje mogą sięgać Ci, którzy ich na prawdę potrzebują. To w połączeniu z bardzo dostępnym interfejsem sprawia, że SiteSucker może być świetnym kompanem dla każdego niewidomego kolekcjonera danych. Jak zawsze z komentarzami zapraszam pod mój adres E-Mail nuno69a@gmail.com

Arkadiusz Świętnicki

 

Partnerzy

 Fundacja Instytut Rozwoju Regionalnego                     Państwowy Fundusz Rehabilitacji Osób Niepełnosprawnych

Back to top