Det finns sajter som analyserar enstaka sidor men jag har inte hittat något bra verktyg för att analysera en hel sajt.
Eftersom en sajt snabbt blir stor så tror jag att man måste ha ett verktyg som man kan köra på sin klient. Mycket data måste sparas och analyseras.
Min tanke var också att verktyget skulle vara enkelt att använda av en icke tekniskt kunnig webbmaster men ändå ha möjligheten att konfigurera mycket.
Kan vi bygga något sådant?
Hämta och analysera webbsidor
jSoup är ett bibliotek som man kan använda för att hämta och analysera HTML-sidor. Det är enkelt att använda för att hämta sidor och plocka ut delar av HTML sidan. Man kan plocka ut delar med hjälp av CSS selectors. Exempel:doc = Jsoup.connect("http://www.bth.se").get();
Elements html = doc.select("html")
Lagring
För att kunna lagra de data man behöver för en sådan här typ av applikation behöver man något typ av databasmotor. Jag har fastnat för Apache Derby.Fördelen med Apache Derby är att man kan använda den inbäddad. Man behöver alltså inte köra den som en server. Det gör att den är mycket lätt att sätta upp och använda. Egentligen behöver man bara inkludera jar-filen för att man ska kunna få det att fungera. Easy peasy.
Intressanta problem
Eftersom sajter idag ofta är dynamiska och komplicerade så kommer man ställas inför ett antal intressanta problem.Hur, till exempel, ska vi bestämma om två olika URLar returnerar samma sida? Min teori nu är att man ska titta på längden av texten på sidan tillsammans med antalet tokens som man hittar på sidan. Jag tror att man då får ett bra mått som man kan använda för att bestämma om man har dubletter.
En annan fråga är hur man ska undvika att hamna i oändliga loopar när man hanterar URLar med URL-parametrar. På BTH t ex så använder vi idag Lotus Notes/Domino och där är det mycket lätt att hamna i oändliga loopar så man måste på något sätt hantera detta.