Jak skopiować stronę internetową, na swój komputer?

Niedawno, w pracy, otrzymałem zadanie, które polegało na przeniesieniu sporej ilości zdjęć, wgranych na stronę, do której plików nie było żadnego dostępu.

Pomyślałem sobie - czy istnieje jakiś skrypt, który pobierze je za mnie, mając tylko adres strony i odnośniki do konkretnych grafik, w kodzie?

Oczywiście, że istnieje!

A jego nazwą jest wget

Prosty programik w konsoli, który pozwala nam pobierać pliki z internetu, w tym całe strony internetowe.

Instalujemy i wpisujemy odpowiednią komendę, w wierszu poleceń, a cała witryna, pojedynczy dokument, pliki lub inne dane, pobierają się automatycznie, do katalogu, w którym się akurat znajdujemy, z poziomu właśnie konsoli.

Instalacja samego skryptu

Windows:

Pobieramy paczkę lub sam skrypt na przykład z eternallybored.org i po otrzymaniu pliku wget.exe, wrzucamy go do katalogu:

c:\Windows\System32

Od teraz możemy odpalać go z poziomu wiersza poleceń.

Mac OS:

W tym przypadku najlepszym wyborem, będzie skorzystanie z Homebrew, dobrego przyjaciela każdego bardziej grzebiącego użytkownika Mac OSa.

Homebrew, instalujemy, wpisując w nasz terminal:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Mając już, ten manager pakietów, samo wget, instalujemy po prostu wpisując:

brew install wget

Linux:

Tu sprawa jest o tyle skomplikowana, że nie na każdej dystrybucji skrypt instalujemy tak samo, więc jeśli akurat Ty używasz Linuxa, to możesz zajrzeć na przykład na TecMint.

Korzystanie z wget

Możliwości samego skryptu są całkiem spore, pomimo tego, że sam jest dość malutki, więc może pokażę tutaj tylko te dość podstawowe, ale jednocześnie, najczęściej używane.

Jeśli tylko interesuje Cię reszta opcji, to zawsze możesz zajrzeć do dokumentacji wget lub wpisać komendę z flagą pomocy, odpowiednią dla danego systemu. Na przykład w przypadku Mac OSa:

 wget --help

Ale przechodząc do rzeczy, konkretną stronę, pobieramy, wpisując w naszą konsolę, komendę pokroju:

 wget -r https://www.example.com

Przy okazji, możemy też pobrać ją, zmieniając wszystkie linki, na lokalne (prowadzące poprawnie do naszych lokalnych plików):

wget --convert-links -r https://www.example.com

Lub wszystkie zmienić na posiadające rozszerzenie .html:

wget --html-extension -r https://www.example.com

I na koniec, to co mi się przydało. Jesteśmy w stanie pobierać konkretne pliki, składające się na stronę, na przykład dany typ (w tym przypadku .png):

wget -A "*.png" -r https://www.example.com

Oczywiście to tylko część możliwości!

Tak jak wspominałem, jest tego znacznie więcej. Oczywiście całość sprowadza się w sumie do pobierania plików, ale właśnie w tym prostym przeznaczeniu, kryje się cała magia.

Mam nadzieję, że kiedyś, ułatwi Ci to jakąś część pracy!

Mogą Cię zainteresować:

Chętnie zaproponuję Ci coś jeszcze

Czy chcesz dodać coś od siebie?