18 lutego 2015

wget - utworzenie sesji i archiwizacja strony

Rozwiązanie problemu archiwizacji strony, do której konieczne jest logowanie. Po zalogowaniu tworzona jest sesja, którą można wykorzystać do ściągnięcia zawartości strony:
wget --save-cookies cookies.txt \    # zapisuje ciasteczko
     --keep-session-cookies \        # ciasteczka sesji normalnie nie są zapisywane, ta opcja to wymusza
     --post-data 'user=Alice&pass=123' \ # logowanie na stronie (metoda POST)
     http://example.com

wget --recursive \                   # przeszukaj stronę rekursywnie
     --cookies=on \                  # man nie opisuje, wget nie odrzuca, niektóre przykłady podają (?)
     --load-cookies cookies.txt \    # ładuje wcześniej zapisane cookie
     --keep-session-cookies \        # nadal utrzymuje cookie sesji 
     --no-clobber \                  # nie nadpisuj już istniejących plików
     --page-requisites \             # ściągnij wszystkie pliki (pliki dźwiękowe, css, itd.)
     --html-extension \              # zapisz pliki z rozszerzeniem html
     --restrict-file-names=windows \ # eskejpuje znaki by Windows (są też inne tryby) sobie poradził
     --domains example.com \         # nie śledź linków poza domenom
     http://example.com
Podzieliłem problem na dwie części, ale pewnie da się to zamknąć do jednego polecenia.

Brak komentarzy:

Prześlij komentarz