24. august 2002 - 09:55Der er
10 kommentarer og 1 løsning
Hente links?
Hvordan henter man lettet et vilkårligt antal links fra en specificeret hjemmeside?
Forklaring: på siden www.min_side.dk/test.html er 3 links som hedder dr,tv2 og tv3. Gæt selv hvor linksene leder hen ;). Hvordan finder man så lettest disse links og smider dem ind it et array eller ligende?
Proces: 1) Undersøger siden test.html... 2) Der er fundet 3 links.... 3) Linksene vil nu bliver smidt over i et array...
Mvh CD
(p.s. jeg kunne muligvis gøre dette ved at hente siden som text og søge efter bestemte strenge men det virker lidt besværligt....)
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin Webbrowser1.navigate('www.min_side.dk/test.html'); for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item); end;
ahhh. Jeg vidste ikke der fantes en "links" operator under webbrowseren. Jeg tester det lige i morgen og hvis det virker efter hensigten er pointene dine :).
ja det fatter jeg godt. Den lavede en fejl fordi den ikke havde nået at finde siden endnu. Jeg har midlertid sat Webbrowser1.navigate('www.min_side.dk/test.html'); på en anden knap.
Men nu er der et nyt problem: når den læser linksene ind i listboxen gentager den heletiden det første link den finder. Burde den sidste sætning ikke have et index basert på tælleren f.eks
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var i: Integer; begin for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.item(i)); end;
du kører bare Webbrowser1.navigate('www.min_side.dk/test.html'); på en knap
og så sætter du det her på event DocumentComplete:
var i: Integer; begin Listbox1.Items.clear; for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.item(i)); end;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.