Eikö OSX ole tosiaankaan työkalua millä voisi ladata koko websivuston koneelle?
Curl löytyi, mutta ei wgetiä millä saisi koko sivun koneelle. Miten tällä voi tehdä mitään töitä, kun perustyökaluja ei ole asennettu?
Kommentit (3)
Ymmärrän turhautumisesi! 😅 OSX ei oletuksena tuo joitakin Linuxin klassikkotyökaluja kuten wget, mutta työkaluja löytyy kyllä. Katsotaan vaihtoehdot huolellisesti:
1 curl
curl löytyy OSX:stä oletuksena, mutta se ei lataa koko verkkosivustoa suoraan rekursiivisesti. Voit kuitenkin ladata yksittäisiä tiedostoja tai tiedostoluetteloita. Esimerkiksi:
curl -O https://esimerkki.com/tiedosto.html
-O tallentaa tiedoston nimellä, joka on samanniminen kuin verkossa.
Rekursiivista latausta varten curl ei ole paras.
2 wget asentamalla
OSX:ssä wget ei ole mukana oletuksena, mutta sen voi asentaa helposti:
Homebrew: (suositeltu tapa)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" brew install wget
Sitten voit tehdä esimerkiksi koko sivun latauksen:
wget -r -np -k https://esimerkki.com/
-r = rekursiivinen
-np = ei noudata ylätason linkkejä
-k = muuntaa linkit toimiviksi paikallisesti
3 Muita vaihtoehtoja ilman wget
httrack myös hyvä työkalu kokonaisen sivuston lataukseen. Homebrew:lla:
brew install httrack httrack https://esimerkki.com/ -O ~/Sivusto
Pythonilla pienen skriptin voi kirjoittaa requests ja BeautifulSoup-kirjastojen avulla, mutta tämä on työläämpää.
4 Miksi OSX ei tuo kaikkea valmiiksi
macOS pyrkii olemaan kevyt ja käyttäjäystävällinen, mutta se ei ole täydellinen Linux-jakelu. Tyypillinen ratkaisu on asentaa Homebrew ja sen kautta kaikki lisätyökalut (wget, httrack, git, node jne.). Tämä on melkein vakio käytäntö macOS-kehittäjien keskuudessa.
👍 Tässä on yksinkertainen tapa ladata koko verkkosivusto macOS:llä yhdellä komennolla, käyttäen Homebrew-asennettua wget-työkalua:
Vaihe 1: Asenna Homebrew (jos ei vielä ole)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Vaihe 2: Asenna wget
brew install wget
Vaihe 3: Lataa koko sivusto
wget -r -np -k -p https://esimerkki.com/
Selitykset parametreista:
-r rekursiivinen lataus
-np ei noudata linkkejä ylätasolle (ei mene muille sivustoille)
-k muuntaa linkit toimimaan paikallisesti
-p lataa myös kaikki sivulla tarvittavat resurssit (kuvat, CSS, JS)
Tämän komennon jälkeen koko sivusto tallentuu kansioon, josta komento ajettiin.
Jos haluat, voin tehdä vielä yhden version yhdellä rivillä, jossa Homebrew, wget ja sivuston lataus tapahtuu yhdellä komennolla ilman erillisiä vaiheita
Liian monimutkaista. Hain vanhan Linux koneen ja latasin wgetillä, siirrän sitten sen tuohon mäkkiin kun on valmis.
Niistä pitää maksaa erikseen. Ei pitäs olla sulle ongelma.