Entwickler-Ecke

Sonstiges (Delphi) - HTML - Suche function die alle Links in Listbox auflistet


Andi1982 - Fr 21.05.04 09:51
Titel: HTML - Suche function die alle Links in Listbox auflistet
Hallo,
gibt es eine Function oder Komponente die alle Links einer Internetseite in einer listbox auflistet???

will zb eine internetadresse angeben, aber anstatt die seite dargestellt zu bekommen will ich sämtliche verknüpfungen/Links in einer listbox angezeigt bekommen. Gibts da schon was?


snoopyonline - Do 04.08.05 23:28

Ich denke du suchst sowas hier:

Du brauchst nur nen Twebbrowser und ne Listbox... Allerdings wird die Seite trotzdem erstmal angezeigt...


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.webbrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var buffer : string;
    run : integer;
begin
try
for run := 0 to form1.webbrowser1.OleObject.Document.links.Length - 1 do
begin
 buffer := form1.browser.OleObject.Document.Links.Item(run);
 if pos('IRGENDEIN-SUCHTEXT', buffer) <> 0 then // Falls du noch "Vorsortieren" möchtest
 listbox1.Items.Add(buffer);
end;
end;


Die zweite Variante wäre, nach HTML-Parser Komponenten zu suchen - davon gibt es diverse die alle mehr oder weniger brauchbar sind...
Dort mußt du dann die Seite erstmal herunterladen, als HTML-Datei abspeichern und dann mit dem Parser durchforsten. Die meisten geben dir dann TAGS LINKS und TEXTE in getrennten Listen aus.

Die Variante mit dem Webbrowser ist aber definitiv einfacher....

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.


Andi1982 - Fr 05.08.05 05:40

Hey,

vielen Dank für die Anwort!!! Werde den Code gleich heute Nachmittag mal antesten!!

Gruß Andi


Lannes - Fr 05.08.05 07:06

Hallo,

der Code wird in Frame-Seiten nicht funktionieren.
Die links aller Frame-Seiten auflisten Suche in: Delphi-Forum, Delphi-Library FRAMES WEBBROWSER


Andi1982 - Fr 05.08.05 07:08

Hallo,

Frames gibt es auf dieser Seite eh nicht, trotzdem danke für den tip!


jakobwenzel - Sa 06.08.05 13:21

SEtz doch bei dem TWebbrowser Visible auf False, dann sieht man ihn auch nicht.


retnyg - Sa 06.08.05 13:43

Suche in: Delphi-Forum, Delphi-Library MAILFILTER 2001 - listet alle hyperlinks einer html-seite auf (inkl source)


Andi1982 - Mo 08.08.05 05:31

Die Lösung mit dem TWebBrowser ist schon eine gute Idee. Bei der seite für die das gedacht ist muss man nämlich auch wirklich dahin gebrowst sein damit das alles funktioniert... Habe den Browser einfach auf invisible gemacht und fertig...