Knut Marius Skrevet 9. april 2006 Del Skrevet 9. april 2006 Jeg har en skoleoppgave som går ut på lage en enkel webbrowser (vha. socketprogrammering osv). Browseren skal kunne hente en webside, og gjøre enkle parse-oppgaver, som f.eks å tolke tags som <BR>, <H1>, <H2> osv. Jeg har fått til å hente websider, men nå som jeg skal begynne å parse-delen sier de litt stopp. Noen som har tips for å sparke meg litt i gang? Vet ikke helt om jeg skjønner hvordan jeg skal tenke, og om det finnes noen ferdig-biblioteker som kan gjøre oppgaven LITT enklere (uten å løse det hele for meg). Noen tips? Lenke til kommentar
kimla Skrevet 9. april 2006 Del Skrevet 9. april 2006 Vel, er ikke noe ekspert.. men har jo egentlig bare med å manipulere strings egentlig. Hvis du henter ned <br > (som tilsvarer linjeskift), så er det vel bare å gjøre den om til \n i C++ (dette er console da, gjør tilsvarende i den API du bruker e.l.) <p> (paragraph) er det bare å tulke litt med så alt innenfor <p> og </p> vil "stå ut" litt... skjønner? Håper jeg ikke svarte helt feil på spørsmålet ditt men... er egentlig bare å kode masse.. Lenke til kommentar
kjetil7 Skrevet 9. april 2006 Del Skrevet 9. april 2006 Har selv gode erfaringer med Spirit; parserbiblioteket til Boost. Glimrende til å lage både enkle og mer kompliserte parsere. http://www.boost.org Spirit er et headerbibliotek og trenger ikke bygges så sant du ikke bruker regular expressions. Det finnes også en separat Spirit pakke for å slippe å laste ned hele Boost. Lenke til kommentar
DarkSlayer Skrevet 2. mai 2006 Del Skrevet 2. mai 2006 Lag en klasse som har som oppgave å lese inn et og et tegn på commando, en GetCharacter() funksjon. Pice of cake. Gjør den generell så du kan benytte den senere. Lag en klasse som skal hente ut tegn og sette de sammen til "objekter". Ha en funksjon som skal spise mellomrom, end-of-line og andre unyttige tegn. Men pass på NÅR du bruker den. For tekst overalt i et html dokument er stortsett nyttig, bortsett fra end-of-line og kommentarer Så har du en svær switch. case '<' Prøv så mye som muligt å bygge trær. Et objekt for hver tagg, husk at en tagg kan ha andre tagger inni seg ex: <h1>Fin <b>fet</b> tekst</h1> Tegn treet før du begynner å mekke, så du vet hvor ting skal plasseres, og hvordan du skal trø gjennom tree'et for å få ut fornuftig data av det. For å imponere så kan du legge til et visitor pattern og så lage objekt som printer ut siden gjennom det systemet.... Parsing og trær er såååå kult. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå