Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mit welchen Befehlen Text aus Websiten lesen? (https://www.delphipraxis.net/147327-mit-welchen-befehlen-text-aus-websiten-lesen.html)

sx2008 14. Feb 2010 07:40

Re: Mit welchen Befehlen Text aus Websiten lesen?
 
Man sollte vor dem Auslesen von Webseiten die Datei robots.txt auslesen und beachten.
Wenn man ALLE Disallow-Sektionen beachtet, ohne Ansehen des User-Agents, dann kann niemand behaupten, man hätte nicht alles getan um im legalen Bereich zu bleiben.
Der Webseitenbetreiber kann so jederzeit das automatische Auslesen seiner Webseiten verhindern.

Ich denke, damit sollte diese "Legal oder Illegal" Diskussion beendet sein.

Daniel 14. Feb 2010 08:41

Re: Mit welchen Befehlen Text aus Websiten lesen?
 
Zitat:

Zitat von sx2008
Ich denke, damit sollte diese "Legal oder Illegal" Diskussion beendet sein.

Danke. :-)

himitsu 14. Feb 2010 09:18

Re: Mit welchen Befehlen Text aus Websiten lesen?
 
Bieten die Indys nicht irgendwo eine Funktion, um den Host aus einer URL zu extrahieren?
Irgendwo muß die robots.txt ja auch gesucht werden und ich hab keine Lust das manuell zu zerpflücken.

Delphi-Quellcode:
Function SiteDownload(Var GetText: String; URL: String;
    HTTPOption: TIdHTTPOptions = [hoForceEncodeParams];
    ProxyServer: String = ''; ProxyUsername: String = ''; ProxyPassword: String = '';
    ProxyPort: Integer = 80; RobotName: String = 'dpSiteGraber'): Boolean;

  Var H:    TIdHTTP;
    rURL, S: String;


  Begin
    H := TIdHTTP.Create(nil);
    Try
      H.HandleRedirects := True;
      If ProxyServer <> '' Then Begin
        H.ProxyParams.ProxyServer  := ProxyServer;
        H.ProxyParams.ProxyPort    := ProxyPort;
        H.ProxyParams.ProxyUsername := ProxyUsername;
        H.ProxyParams.ProxyPassword := ProxyPassword;
      End;
      H.HTTPOptions := HTTPOption;
      H.Request.UserAgent := RobotName + '-Mozilla/3.0 (compatible; Indy Library)';
      H.Request.Accept := 'text/plain, */*';

      S := H.Get(rURL + 'robots.txt');


      H.Request.Accept := 'text/html, */*';
      GetText := H.Get(URL);
      Result := GetText <> '';
    Finally
      H.Free;
    End;
  End;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr.
Seite 2 von 2     12   

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