Web-sivujen ja -sivustojen imurointi WebStripper-ohjelmalla

WebStripper on maksuton ohjelma, jolla voi kopioida Web-sivuja ja -sivustoja omaan koneeseen myöhemmin katsottaviksi, ns. offline browser. Ohjelma kopioi sivut kuvineen ja muine lisukkeineen sekä pystyy kopioimaan myös kokonaisen hakemiston ja tallentamaan sen alkuperäistä vastaavaan rakenteeseen. Ohjelma toimii Windows-ympäristöissä (95/98/NT/2000).

Tämän dokumentin yksityiskohdat ovat luultavasti paljolti vanhentuneita. En ole itse käyttänyt WebStripperiä viime aikoina kuin hyvin satunnaisesti.

Vastaavanlaisia ohjelmia on monia muitakin, esimerkiksi HTTrack.

WebStripperin tapaista ohjelmaa tarvitsee erityisesti modemikäyttäjä, joka haluaisi imuroida itselleen sivuja niin, että niitä voi katsella ilman Internet-yhteyttä. Sivun tallentaminen normaalilla Web-selaimella tallentaa yleensä vain HTML-muotoisen dokumentin ilman kuvia, tyylitiedostoja yms. (Internet Explorer 5:ssä on myös toiminto koko sivun tallentamiseksi, mutta se ei tunnu toimivan kovin hyvin, ja sitä paitsi se tallentaa vain yhden sivun, ei kokoelmaa sivuja.) Toinen tärkeä käyttömahdollisuus se, että voit imuroida jonkin sivuston koneeseen, jossa on kiinteä Internet-yhteys, ja tallentaa sen levykkeelle esim. siirrettäväksi koneeseen, jossa on huonommat yhteydet tai ehkä ei ole lainkaan Internet-yhteyden mahdollisuutta. (Levykkeelle kopioinnissa voivat tilarajoitukset tulla vastaan. Silloin usein auttaa zippaus, jolla tiedostojen viemää tilaa voi pienentää; lisäksi useat zippausohjelmat osaavat jakaa aineiston usealle levykkeelle.) Vielä yksi käyttötapa on aineiston kopiointi palvelimesta toiseen esim. varmistussyistä.

Asennus

WebStripperin voi kopioida osoitteesta http://webstripper.net/wbs.exe ja sen koko on noin 1,2 megatavua. Kun olet tallentanut ohjelman johonkin hakemistoon, voit vain klikata sen kuvaketta, jolloin asennus käynnistyy.

Kuten lisenssiehdoissakin sanotaan, ohjelman maksuttomuus perustuu siihen, että ohjelmaa käyttäessäsi näet mainoksia. (Niistä pääsee eroon hankkimalla noin 40 dollarin hintaisen maksullisen version WebStripper Pro.) Se, millaisia mainoksia näet, riippuu siitä, millaisia tietoja annat itsestäsi asennusohjelman kysellessä niitä. Vastaaminen ei ole pakollista; silloin näet sekalaisen valikoiman mainoksia.

Asennusohjelma kysyy, käytätkö modemiyhteyttä ("I use a dial up internet connection") vai kiinteää yhteyttä ("I use a permanent or network connection").

WebStripper luo hakemiston C:\Stripped, johon se tallentaa kaiken imuroimansa aineiston. Jos haluat sen käyttävän muuta hakemistoa (esimerkiksi jos koneessasi on useita (loogisia) levyjä ja C-levy on aika täynnä), voit muuttaa kyseisen asetuksen Options-valikon kautta. (Sieltä löytyvien asetusten Webstripper Options osassa New Site on kohta Default root folder tätä varten. Samasta osassa voi myös asettaa yleiseksi oletusarvoksi Single page alkuasetuksen Whole site asemesta; tämä on järkevää, jos aiot käyttää WebStripperiä etupäässä yksittäisten sivujen hakemiseen.)

Asennuksessa ei muuten liene mitään erikoista. Asennuksen lopuksi työpöydälle ilmestyy WebStripperin pikakuvake. (Lisäksi WebStripper ilmestyy Käynnistä-valikon ohjelmien joukkoon.)

Käyttö

WebStripperin mukana tulevat suhteellisen hyvät ohjeet, ja käyttö on melko intuitiivista eli eri valikot ja painikkeet tekevät suunnilleen sitä, mitä niiden voi olettaakin tekevän. Mutta seuraavassa on muutama perusohje ja vinkki.

WebStripperin voi käynnistää (esim. pikakuvaketta näpäyttämällä) valmiiksi jo ennen Internet-yhteyden muodostamista. Säästyypä vähän yhteysaikaa.

Kun haluat kertoa WebStripperille sivun tai sivuston, jonka haluat hakea (saman tien tai myöhemmin), voit käyttää kolmea vaihtoehtoista tapaa Add-toiminnon käynnistämiseen:

Kaikilla tavoilla saat näkyviin ikkunan, josta voit valita sivun tai sivuston, ja useimmissa tilanteissa WebStripper on valmiiksi asettanut osoitteelle alkuarvon (ensimmäistä tapaa käytettäessä se ottaa sinne sen osoitteen, joka on avoinna Web-selaimessa):

[Add Site -ikkuna]

Nyt voit tarvittaessa kirjoittaa osoitteen tai muuttaa sitä, samoin sen nimen, jolla WebStripper jatkossa tuntee sivun tai sivuston. Tämä nimi sinun tietysti kannattaa valita sinulle itsellesi informatiiviseksi, niin että vielä viikkojen kuluttuakin se sanoo sille jotain siitä, mitä sivu tai sivusto sisältää. Oletusarvoisesti WebStripper muodostaa edellä mainitun nimen pohjalta kansion (folder) eli hakemiston nimen, mutta voit halutessasi asettaa tämän nimenkin erikseen. (Yleensä siihen ei ole mitään syytä. Jos muutat sitä, niin huolehdi siitä, että käytät aiemmista poikkeavaa nimeä; WebStripperin oletusarvo huolehtii tästä, mutta jos kirjoitat kansion nimen itse, tilanne on toinen.)

Jos haluat peruuttaa Add-toiminnon, käytä Cancel-painiketta. (WebStripper kysyy sitten vielä varmistuksen sille, että haluat todella peruuttaa.)

Seuraavaksi on syytä tarkistaa asetukset napsauttamalla seuraavaksi Next-painiketta.

Tärkein valinta on vaihtoehtojen Single page (vain tämä yksi sivu) tai Whole site (kokonainen sivusto) välillä. Huomaa, että jälkimmäinen on usein iso operaatio; jos kuitenkin kohdassa Sub-pages only on rasti, imurointi kuitenkin rajoittuu niihin sivuihin, joiden osoite on viimeistä vinoviivaa myöten sama kuin antamasi osoite. Jos varomattomasti valitset vaihtoehdon Whole site, saatat saada erittäin suuren määrän sivuja, esimerkiksi jonkin palvelimen kaikki satatuhatta sivua!

Esimerkiksi jos olet antanut osoitteen http://www.cs.tut.fi/~jkorpela/usenet/index.html, niin

Napsauta sitten taas Next-painiketta. WebStripper kysyy nyt, haluatko sen saman tien hakevan sivut ("Yes, strip it now") vai vain tallentavan tiedon hakutehtävästä. (Offline-käytössä tietysti valitaan jälkimmäinen, ellei sitten haluta heti seuraavaksi ottaa Internet-yhteyttä.) Napsauta lopuksi Finish-painiketta. Sen nimi on ehkä vähän hämäävä, mutta se siis tarkoittaa, että lopetat asetusten säätämisen ja käsket WebStripperin joko tallentaa tiedot tästä hommasta tai heti ruveta hommiin, hakemaan sivua tai sivuja.

Imuroitujen sivujen käyttö on helppoa. WebStripperin ikkunan vasemmalla puolella olevasta valikosta voit napsauttamalla valita haluamasi sivun tai sivuston - joiden nimet ovat sellaiset, miksi olit ne asettanut. Ikkunan oikealla olevassa pääosassa näkyy itse sivu, ja siinä voi "surffailla" kuten tavallisessa Web-selaimessa. ("Ulospäin" vievät linkit eivät tietenkään toimi offline-tilassa; se, mikä kaikki vie "ulospäin", riippuu tietysti siitä, millaisia asetuksia olit käyttänyt eli mitä kaikkea olit käskenyt WebStripperin hakea.)

Mitä WebStripper tarkkaan ottaen hakee?

WebStripperin dokumentaatio ei kovin tarkkaan kuvaa, miten se varsinaisesti päättää, mitä tiedostoja se hakee, ja dokumentaatiossa on tältä osin hämääviä termejä. Seuraava on minun päätelmäni siitä, miten se toimii; ohjelman tekijältä saamani palautteen mukaan tämä ainakin suurin piirtein pitää paikkansa:

Under "Site Wizard: Range", the help says: "The first two options are fairly obvious. - - Sub-pages only forces WebStripper to only look in the specified folder and sub-folders of it." I wouldn't say that "Whole site" has an obvious meaning. The word "site" is used in a multitude of ways, rather confusingly. And "folder" and "sub-folder" are not relevant concepts. It is true that URLs may get mapped to folder (directory) references, and most often do, but that's by no means necessary. Moreover, trying to add site http://www.domain.example/path/ in the (common) hope of getting all files with URLs beginning that way is not successful in general. Unless I miss something, it means that WebStripper sends a GET request with that URL and then starts playing with a document it got, perhaps following links there. (If the server has been configured to respond with a directory listing, this will actually allow the retrieval of all files. But this is a special case, and more commonly one gets just an index.html or default.htm file or something, and it depends on the site design whether all files are accessible through it.)

I guess WebStripper works along the following lines: When asked to strip a site specified with a URL http://www.domain.example/path/xxx (where xxx might be empty), it

  1. first retrieves that particular file
  2. then retrieves any embedded images, linked style sheets, and other things that constitute one particular page
  3. if configured to strip "Whole site" (and not "Single page") for this case, it then processes any links found in the file (if it is an HTML document) and performs items 1 - 3 for them; however, unless instructed otherwise in the Advanced settings in the Range configuration, it does that for such URLs only that reside on the server of the original URL (www.domain.example); moreover, you can specify in the Advanced settings how many times step 3 is repeated, by specifying depth there.
In the Range settings, one can impose limitations on what WebStripper fetches. For example, setting "Ignore large files" excludes files larger than 100 kilobytes; the limit can be changed in the Advanced settings.

So basically "Whole site" is in this case a set of files reachable via the original URL by following links and references to images and other data. I think this should be clarified in the documentation - it's a fairly important issue.

It would be desirable to specify exactly what WebStripper retrieves, i.e. what it treats as links (in addition to the obvious, <a href="...">) or as references to data to be stripped (<img ...> obviously, but what about <object ...>, <applet ...>, etc.?). Specifically, it seems that although WebStripper gets a style sheet referred to via <link rel="stylesheet" ...>, it does not inspect the style sheet to find an @import there. (Note that it is a fairly common technique to use @import in style sheets, and currently WebStripper causes imported style sheets to be ignored - they are not stripped, and neither are the relative URLs replaced by absolute URLs.)

Loppuhuomautuksia

Joidenkin palvelinten ylläpito ei pidä WebStripperin kaltaisista ohjelmista, koska niitä on väärinkäytetty mm. siihen, että sivustoja kopioidaan toiseen palvelimeen luvattomasti. Käytännössä palvelimessa voi olla estoja, joiden takia WebStripper ei onnistu kopioimaan sivuja. Tällöin kannattaa tyytyä tilanteeseen. Tosin...

Useat Webissä olevat aineistot on pantu saataville myös valmiina "paketteina", tyypillisesti zipattuina. Jos sellainen löytyy, kannattaa imuroida se suoraan (yhtenä tiedostona) Web-selaimella. Tämä on nopeampaakin kuin WebStripperin käyttö, koska zippaus usein pienentää tiedoston kokoa huomattavasti. (Ks. esim. irt.org:n sivua, jolla varoitetaan "The use of robots or browsers to bulk download pages for offline viewing is prohibited" mutta toisaalta ohjataan käyttämään erityistä downloads-sivustoa aineiston imuroimiseksi.)

Käyttömahdollisuuksista mainittakoon erityisesti seuraava: Kun lukiessaan nyysejä (news, Usenet) ns. offline-nyysiohjelmalla törmää kiinnostaviin Web-osoitteisiin, voi leikkaa ja liimaa -menetelmällä siirtää osoitteen WebStripperiin, ja sitten Internet-yhteyden aikana käskeä WebStripperiä hakemaan kyseiset sivut tai sivustot. (Tätä ei vielä - versiossa 1.38 - voi tehdä yhdellä käskyllä, vaan pitää käyttää Go-toimintoa kullekin erikseen. Sen sijaan WebStripper Pron V2 beta -versiossa on mahdollisuus ajastaa toimintoja.)

Hiukan erikoisempi käyttötarkoitus: vanhassa työ-PC:ssäni oli pieni palvelin (OmniHTTPd-ohjelmistoa käyttävä) lähinnä testikäyttöä varten. Kopioin varsinaiset Web-sivuni siihen WebStripperillä eräänlaiseksi varmistukseksi, ja tämä sujui lähiverkossa aika nopeasti, vaikka sivuja oli paljon.


Viimeisimmän päivityksen ajankohta: 2002-11-11.

Jukka Korpela.