Kopiowanie stron www – sposób na przenośną stronę
SPOSOBY KOPIOWANIA STRON WWW
Gdy wpiszemy w wyszukiwarkę hasło: kopiowanie stron www, od razu pojawi się wiele gotowych programów do pobrania m.in. HTTrack Website Copier czy Teleport Pro. Najczęściej są to programy w wersji okienkowej, gdzie jednym przyciskiem pobierzemy dowolną stronę.
Jest także inna opcja: można zapisać stronę prosto z przeglądarki, klikając prawym przyciskiem myszy na daną stronę i wybierając polecenie „Zapisz jako”.
Żadna z tych opcji nie daje pełnej satysfakcji. Przeglądarką trzeba pobierać każdą podstronę z osobna, a korzystając z gotowych programów nie można zautomatyzować procesu kopiowania strony na serwerze.
KOPIOWANIE STRON Z WIERSZA POLECEŃ
Jeżeli mamy na tyle dobry serwer, na który jest możliwość dostępu przez wiersz poleceń, zapewne jest na nim również program wget
. Jeżeli nie ma takiego programu, istnieje wersja na windowsa dostępna pod tym linkiem: http://gnuwin32.sourceforge.net/packages/wget.htm.
Wystarczy wydanie jednego prostego polecenia, aby pobrać całą stronę wraz ze wszystkimi podstronami, obrazkami, arkuszami styli, czcionkami i innymi niezbędnymi plikami. Jest to następujące polecenie:
wget -rEp http://strona-www.pl
-r
odpowiada za pobieranie rekurencyjne,-E
odpowiada za dopisanie rozszerzenia, np. stronahttp://strona-www.pl/kontakt
zostanie pobrana jako kontakt.html,-p
odpowiada za pobieranie wszystkich niezbędnych plików.
ĆWICZENIE PRAKTYCZNE
A teraz ćwiczenie praktyczne. Zajmiemy się stroną: http://fitnessroad.pl/.
Otwieramy wiersz poleceń i wchodzimy w miejsce, do którego chcemy pobrać stronę.
Wpisujemy polecenie: wget -rEp http://fitnessroad.pl/
i do katalogu fitnessroad.pl
skopiowane zostaną wszystkie potrzebne pliki.
Lista tych plików przedstawia się następująco:
fitnessroad.pl/catering-dietetyczny.html
fitnessroad.pl/robots.txt
fitnessroad.pl/index.html
fitnessroad.pl/cennik.html
fitnessroad.pl/kontakt.html
fitnessroad.pl/trening-personalny.html
obrazki, skrypt, czcionki...
Teraz wystarczy skopiować wszystkie wygenerowane pliki do katalogu public_html i sprawdzić działanie strony.
Niestety strona nie będzie działać, gdyż w użyciu są przyjazne linki, które nie zawierają rozszerzeń .html
. Można to naprawić przez dodanie pliku .htaccess
, który dokona odpowiednich konwersji, czyli doda rozszerzenie .html
wszystkim plikom, które go nie mają. .htaccess
zmieni także nazwy katalogów na ścieżkę do znajdującego się w nim pliku index.html
.
RewriteEngine on
RewriteRule ^([^.]*[^/])$ /$1.html [L]
RewriteRule ^([^.]*/)$ /$1index.html [L]
Takie podejście ma jednak wady, wiele serwisów posiada adresy typu: index.php?category=1&id=3
.
Powyższe podejście nie będzie działać w tym przypadku, ponieważ znaki specjalne nie są zakodowane w formie procentowej.
Rozwiązaniem jest dodanie flagi -k
, która odpowiednio przekonwertuje linki w plikach, zastępując znaki specjalne typu: ?&%!
formą procentową.
WYKORZYSTANIE KOPIOWANIA STRON WWW
Pobieranie stron można wykorzystać do:
- stworzenia kopii zapasowej,
- utworzenia wersji strony możliwej do przeglądania offline,
- opublikowania strony statycznej a nie dynamicznej.
Na koniec dodam, że kopiowanie cudzych stron jest dozwolone tylko dla użytku osobistego.
Super post! Miałem problem z tymi linkami właśnie. Dzięki!