Sök:

Javarobot för att identifiera HTML-länkar utan referenser.

World-Wide Web (WWW) skapades 1989 av Tim Berners-Lee vid CERN. Detta utgör en del av Internet som funnits sedan långt tillbaka. Här kan privatpersoner, skolor, företag, myndigheter och många andra lägga upp information i form av hemsidor. Dessa hemsidor kan innehålla allt från bara namn och adress till avancerade försäljningssidor. Dessa sidor kan sedan nås av de som har tillgång till Internet eller WWW.Principen för publicering av information på Internet är att den skall vara fri och tillgänglig för alla. Detta har lett till att det finns miljontals sidor på detta Internet som innehåller mer eller mindre viktig information och som ofta länkar till andra sidor på nätet.Många av sidorna ligger ofta på samma plats under lång tid och orsakar inte några större problem för de som letar information på Internet. Men det är även många sidor som flyttar mellan olika adresser och en del sidor läggs helt enkelt ned. Detta ger som resultat att de länkar (referenser) som går till den sida som har flyttat eller inte finns kvar alls längre blir ogiltiga. Den informationssökande får då ett meddelande om att denna sida inte finns tillgänglig. Eftersom det är många sidor som flyttar fram och tillbaka eller helt enkelt läggs ned händer detta relativt ofta. Detta leder till irritation för den som söker information på Internet.Det sätt som finns för att komma undan detta problem är att varje person som är ansvarig för en sida håller sina länkar uppdaterade. Detta kan göras manuellt men kan vara väldigt tidskrävande, även för en ganska liten sida. Istället skulle man kunna tänka sig att en mjukvarurobot kontrollerar vilka länkar som är giltiga och meddelar den ansvarige för respektive sida om vilka länkar som inte är giltiga. Detta skulle underlätta underhållsarbetet för dessa sidor avsevärt och även minska irritation hos de besökare som kommer till en sida för att söka efter information.Det finns olika strategier för hur en sådan mjukvarurobot skulle kunna arbeta. Den skulle kunna arbeta efter en djupet först eller bredden först strategi. Djupet först innebär att mjukvaruroboten skulle ta den första länken och följa den till nästa sida och sedan första länk på den nya sedan och följa den tills man har nått ett stoppkriterium. När den nått detta stoppkriterium vänder den upp igen och tar nästa länk och följer denna nedåt. Bredden först innebär att mjukvaruroboten följer den första länken ett steg och sedan tillbaka för att ta nästa länk som den följer ett steg. När alla länkar på en sida har följts upp följer man de länkar som finns på de sidor som de länkar man följde förut på samma sätt.Då sökdjupet, den rymd som går att nå från alla kontrollerade länkar, kan bli näst intill oändligt måste man ha ett kriterium för hur långt sökningen skall få fortsätta. Ett förslag är att man enbart följer länkar som finns inom en viss domän, tex högskolans sidor (http://www.his.se/).Den sökstrategi som valdes blev bredden först på grund av uteslutningsmetoden då de andra strategierna föll ifrån.De komponenter som behövdes för att implementera en mjukvarurobot av detta slag var en mekanism som drar ut alla HTML-länkar ur ett hypertextdokument, något som kontrollerar länkarnas status och en uppsättning listor för att hålla reda på vilka sidor som skall kontrolleras, vilka som är kontrollerade samt vilka länkar som var bra respektive dåliga. Dessa komponenter tillverkades och sattes sedan ihop till en helhet.Den ihopsatta mjukvaruroboten visade sig dock inte fungera fullt ut. Det fanns begränsningar i det antal nivåer som mjukvaruroboten söker på. Dock hittar den majoriteten av länkarna på de sidor som besöks och av de länkar som hittas kontrolleras alla samt får en svarskod och ett svarsmeddelande.Det är dock möjligt att modifiera mjukvaruroboten så att den skulle kunna fungera på det sätt som var tänkt från början.

Författare

Christer Lundberg

Lärosäte och institution

Högskolan i Skövde/Institutionen för datavetenskap

Nivå:

"Kandidatuppsats". Självständigt arbete (examensarbete ) om minst 15 högskolepoäng utfört för att erhålla kandidatexamen.

Läs mer..