Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Unterseiten einer Homepage ermitteln (https://www.delphipraxis.net/154687-unterseiten-einer-homepage-ermitteln.html)

youuu 21. Sep 2010 13:48

Unterseiten einer Homepage ermitteln
 
Hi,

wie kann ich alle Unterseiten einer Homepage ermitteln?
Das heißt, das ich keine externen Verlinkungen mit aufsammeln möchte.

Unterseiten können auch relative Pfade enthalten.

Namenloser 21. Sep 2010 13:57

AW: Unterseiten einer Homepage ermitteln
 
Wie hast du es bisher versucht?

Luckie 21. Sep 2010 13:59

AW: Unterseiten einer Homepage ermitteln
 
Allen Links folgen und wenn ein Link eine fremde Domain beinhaltet, dann gehört die Seite nicht zur Seite.

youuu 21. Sep 2010 14:06

AW: Unterseiten einer Homepage ermitteln
 
Ich hätte es jetzt umständlich gemacht mit:

1. idhttp.get
2. per "Pos", "Copy" alle Links gesucht
3. aussortieren der links die auf eine andere homepage führen
4. die relativen Pfade umgeschrieben.

Ich dachte nur es geht vielleicht einfacher.

rollstuhlfahrer 21. Sep 2010 14:26

AW: Unterseiten einer Homepage ermitteln
 
ja, einfacher geht es mit einem Sitemap, vor allem das, was von Google abgefragt wird. Nur gibt es keine definierte Stelle, wo das Sitemap liegt.

Bernhard

PS: Allen Links folgen ist nun einfach die einzige Lösung, wenn man nicht über "Hintertüren" an mehr Informationen kommt.

youuu 21. Sep 2010 14:33

AW: Unterseiten einer Homepage ermitteln
 
Naja, ich kann nicht davon ausgehen, das die Seiten alle eine Sitemap besitzen und diese alle in einen einhetlichen Format angegeben sind.
Da existeren ja doch ei paar mehr Varianten.

rollstuhlfahrer 21. Sep 2010 14:37

AW: Unterseiten einer Homepage ermitteln
 
ja genau deswegen wirst du nicht drum herum kommen, allen Links zu folgen.

Bernhard

youuu 21. Sep 2010 14:43

AW: Unterseiten einer Homepage ermitteln
 
Ok, dann mach ich mich mal daran.
Danke

Bummi 21. Sep 2010 14:44

AW: Unterseiten einer Homepage ermitteln
 
vielleich hilft Dir der Codefetzen aus unserer Codebase?
Delphi-Quellcode:
procedure TCrawlingThread.WBDocumentComplete(Sender: TObject ;const pDisp:IDispatch;var URL: OLEVariant);
var
  i:Integer;
  ElementCollection: IHTMLElementCollection;
  HtmlElement: IHTMLElement;
  AnchorString: string;
  sl:TStringList;
begin
  try
  if Assigned((FWB.Document as IHTMLDocument2).body) then
    begin
      sl:=TStringList.Create;
      try
      sl.Text := ((FWB.Document as IHTMLDocument2).body as IHTMLBodyElement).createTextRange.text;
      sl.SaveToFile(IncludeTrailingBackSlash(FFilePath) + FGuid);
      finally
      sl.Free;
      end;
    end;
  ElementCollection:= (FWB.Document as IHTMLDocument2).all;
  For i := 0 To ElementCollection.length - 1 do
      begin
            HtmlElement := ElementCollection.item(I, '') as IHTMLElement;
            if HTMLElement.tagName = 'A' then
            begin
              AnchorString := (HtmlElement as IHTMLAnchorElement).href;
              FCollectedLinks.Add(AnsiLowerCase(AnchorString));
              end;
      end;
  FCanTerminate := true;

  except
  on E:Exception do FError := E.Message;
  end;
end;

Die Muhkuh 21. Sep 2010 16:08

AW: Unterseiten einer Homepage ermitteln
 
Lustig wird's dann bei Flash-Seiten oder welche, die den Content per JavaScript nachladen und diesen auch nur per JS austauschen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz