Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi surf bot programmieren (https://www.delphipraxis.net/127574-surf-bot-programmieren.html)

BBoy 15. Jan 2009 17:05


surf bot programmieren
 
Ich möchte einen Bot erstellen der folgendes macht:
1. zu einer url gehen... warten bis komplett geladen ist
2. login ... warten bis komplett geladen ist
3. zu einer bestimmten unterseite gehen ... warten bis komplett geladen ist
4. spezielle daten aus dem html code auslesen

hier der code dazu... nicht wundern ich nutze nicht den standard Twebbrowser!

Delphi-Quellcode:
procedure TForm4.WebBrowser1DocumentComplete(ASender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if aktion = 'login' then begin
      WebBrowser1.FillForm('user','myname);
      webbrowser1.FillForm('pwd','atest');
      post_form;
      aktion := 'link1';
      exit;
  end;
  if aktion = 'link1' then begin
   webbrowser1.Navigate('http://www.mypage.de/login.php');
   aktion := 'extract';
   exit;
  end;

  if aktion = 'extract' then begin
    http_code.Clear;
    http_code.Text := webbrowser1.DocumentSource;
   ..
   ..
    aktion := 'startex';
    exit;
  end;

 if aktion = 'startex' then begin
   ..
   ..
   aktion := '';
   exit;
 end;

end;
Der fehler liegt hier
http_code.Clear;
http_code.Text := webbrowser1.DocumentSource;
dort ist der html code der login seite drin und nicht der von der aktuellen seite. weis jemand warum?
Oder hat jemand eine bessere idee wie ich das realisieren kann?

Meflin 15. Jan 2009 17:07

Re: surf bot programmieren
 
Zitat:

Zitat von BBoy
Oder hat jemand eine bessere idee wie ich das realisieren kann?

Jupp. Verwende IdHTTP statt den WebBrowser - oder soll es unbedingt sichtbar sein?

mkinzler 15. Jan 2009 17:07

Re: surf bot programmieren
 
Bist du sicher, das dein Vorhaben mit den Nutzungsbedingungen der Seiten angesurften seiten im Einklang steht?

BBoy 15. Jan 2009 17:22

Re: surf bot programmieren
 
ist meine eigene... ich will die statistiken auslesen.

Ja es sollte sichtbar sein, also weil da java scripte ausgeführt werden. glaube das geht mit idhttp nicht so einfach, oder?

mkinzler 15. Jan 2009 17:24

Re: surf bot programmieren
 
Wenn es deine eigene ist, it es ok.

Meflin 15. Jan 2009 17:25

Re: surf bot programmieren
 
Zitat:

Zitat von BBoy
ist meine eigene... ich will die statistiken auslesen.

Dann wäre die Lösung der Wahl erstmal auf der Serverseite ein geeignetes Interface zu erstellen, das dir die Daten passend für dein Programm liefert - und nicht so ien gefrickel mit dem TWebBrowser ;)

SirThornberry 15. Jan 2009 18:05

Re: surf bot programmieren
 
Wenn die Seite dir ist würde ich ebenfalls vorschlagen einfach Serverseitig ein Script zu plazieren was die Daten gleich richtig liefert ohne das der Client mit Javascript etc. noch etwas machen muss.

BBoy 15. Jan 2009 19:30

Re: surf bot programmieren
 
ich kann aber nur etwas delphi coden und mit server usw kenn ich mich nicht aus. daher ist dies die für mich einfachste lösung. das prinzip steht ja auch schon, nur eben im detail gibt es das ein oder andere problem.

Ich denke es liegt daran das dass event onDocumentComplete nicht das richtige ist. denn das event wird dann ausgelsöst wenn der html code verfügbar ist. ich brauche aber ein event das dann ausgelöst wird wenn der webbrowser auch visuell fertig geladen hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 Uhr.

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