Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi webbrowser zu langsam (https://www.delphipraxis.net/34343-webbrowser-zu-langsam.html)

horst 21. Nov 2004 16:46


webbrowser zu langsam
 
hallo :)

ich kann mit folgendem code wunderbar die nächste webseite "ansurfen/aufrufen".
das mit dem webbrowser dauert nur so lange, kann man sowas schneller machen, evt. mit der idhttp-komponente?

Delphi-Quellcode:
procedure TForm1.NextPage;
var
  Idx: Integer;
  Document: IHTMLDocument2;
  DocAll: IHTMLElementCollection;
  DocElem: IHTMLElement;
begin
  Document := webbrowser.Document as IHTMLDocument2;
  if Assigned(Document) then
  begin
    DocAll := Document.All;
    Idx := DocAll.length -1;
    Hit := False;
    while (Idx >= 0) and (not Hit) do
    begin
      DocElem := DocAll.Item(Idx, '') as IHTMLElement;
      if Pos('Next', DocElem.innerText) <> 0 then
        Hit := True
      else
        Dec(Idx);
    end;
    if Hit then
    begin
      DocElem.Click;
      while webbrowser.ReadyState <> READYSTATE_COMPLETE do
        Application.ProcessMessages;
    end;
  end;
end;
grüße
horst

Meflin 21. Nov 2004 17:10

Re: webbrowser zu langsam
 
warum sollte das denn nicht gehen :gruebel:

horst 21. Nov 2004 17:16

Re: webbrowser zu langsam
 
super und wie? und ist es dann schneller? :hello:

Meflin 21. Nov 2004 17:22

Re: webbrowser zu langsam
 
such einfach im forum ;-)
da gabs schon so viel dazu...

moritz 21. Nov 2004 17:24

Re: webbrowser zu langsam
 
Ja. Aber dann musst du einen eigenen Browser schreiben. Entwerder ganz TWebbrowser oder garnicht TWebbrowser

horst 21. Nov 2004 17:27

Re: webbrowser zu langsam
 
Zitat:

such einfach im forum
da gabs schon so viel dazu...
wie man einen link mit der idhttp-kompo klickt habe ich nirgends gefunden, vielleicht habe ich mich auch zu undeutlich ausgedrückt, es sind ca. 600000 seiten die ich nach bestimmten informationen durchsuchen muss, also nicht nur mal eben einen link aufrufen.
stell dir eine suche bei google vor (mit vielen ergebnissen) und du musst immer wieder den next link klicken...

Zitat:

Ja. Aber dann musst du einen eigenen Browser schreiben. Entwerder ganz TWebbrowser oder garnicht TWebbrowser
hä? ich verstehe nur bahnhof, wie meinst du das?

moritz 21. Nov 2004 17:43

Re: webbrowser zu langsam
 
TWebbrowser ist eine Einbindung vom Internet Explorer, der komplett selbst agiert. Wenn du ihn beschleunigen willst, musst du ihn umschreiben.

jim_raynor 21. Nov 2004 17:45

Re: webbrowser zu langsam
 
Zitat:

Zitat von horst
Zitat:

Ja. Aber dann musst du einen eigenen Browser schreiben. Entwerder ganz TWebbrowser oder garnicht TWebbrowser
hä? ich verstehe nur bahnhof, wie meinst du das?

Wenn du alle Dateien auch anzeigen möchtest (was ich bei 600.000 nicht glaube) dann müsstest du einen eigenen Browser schreiben. Aber ich fürchte, wenn du 600.000 Dateien durchsuchen möchtest, dann dauert das selbst mit Indy sehr lange. Aber schneller als TWebbrowser alle mal.

horst 21. Nov 2004 17:54

Re: webbrowser zu langsam
 
Zitat:

Wenn du alle Dateien auch anzeigen möchtest (was ich bei 600.000 nicht glaube) dann müsstest du einen eigenen Browser schreiben.
nein ich möchte nicht alle auf einmal anzeigen

Zitat:

Aber ich fürchte, wenn du 600.000 Dateien durchsuchen möchtest, dann dauert das selbst mit Indy sehr lange. Aber schneller als TWebbrowser alle mal.
das kann ja ruhig ein wenig dauern, aber wenn es ein wenig schneller geht iss es doch super.

moritz 21. Nov 2004 18:19

Re: webbrowser zu langsam
 
Mit Indy kannst du die Dateien nur laden, aber nicht anzeigen. Du könntest die Seite mit Indy lokal speichern und diese Seite dann im TWebbrowser aufrufen.

horst 21. Nov 2004 20:07

Re: webbrowser zu langsam
 
@moritz
das anzeigen/speichern/usw. ist ja nicht mein problem, vielmehr geht es mir darum schneller durch die webseiten zu navigieren, um an meine informationen zu kommen, was ich mit den informationen mache ist sekundär, der webbrowser ist einfach zu langsm.
grüße horst

tn249 21. Nov 2004 20:28

Re: webbrowser zu langsam
 
ich versteh noch nicht ganz ob du die seiten maschinell auslesen willst, dann wäre

Indy die richtige wahl

hier mal ein link zu indy;

http://www.indyproject.org/ (neueste version von indy, mit install-anleitungen)

und ein aufruf geht so;

Code:
var
  s: string;

s := IdHTTP.Get('http://www.google.de');
(vorher noch ein IdHTTP aufs form setzen =) )

und dann mit string-functionen den nächsten vorwärtslink suchen und aufrufen

andernfalls musst du den webbrowser nehmen

MfG
tn249

Sprint 21. Nov 2004 21:42

Re: webbrowser zu langsam
 
@Horst: Was hältst du davon, die EmmbeddedWB Komponente zu benutzen und dort deaktivierst du dann den download von Grafiken usw. Das könnte ja schon einen Geschwindigkeitsschub geben und du brauchst auf den Luxus vom TWebBrowser nicht verzichten.

horst 21. Nov 2004 22:03

Re: webbrowser zu langsam
 
stimmt...das teste ich mal aus, danke :)

horst 21. Nov 2004 22:34

Re: webbrowser zu langsam
 
ist schon etwas schneller....aber richtige begeisterung will nicht aufkommen :roll:

Sprint 21. Nov 2004 22:39

Re: webbrowser zu langsam
 
Zitat:

Zitat von horst
ist schon etwas schneller....aber richtige begeisterung will nicht aufkommen

Vielleicht solltest du mal von deinem 33.6er Modem auf ein 56K wechseln. *spass* :-D

horst 21. Nov 2004 22:59

Re: webbrowser zu langsam
 
meinst du echt :-D das es daran liegen kann? :coder2:

Luckie 21. Nov 2004 23:05

Re: webbrowser zu langsam
 
Ist dir schon mal der Gedanke gekommen, das der limitierdende Faktor nicht die Implemenattion von TWebbrowser oder sonstigen Komponenten ist, sondern schlicht und ergreifen, deine Internetanbindung und das Datanvolumen?

horst 21. Nov 2004 23:11

Re: webbrowser zu langsam
 
ich denke eine dsl-leitung und eine 1 m-bit/verbindung ausreichen müßten, oder nicht?

Luckie 21. Nov 2004 23:12

Re: webbrowser zu langsam
 
Nun ja. 60.000 Seiten jede 10 KB groß dann sind das 600.000 KB oder grob 600 MB. Und jetzt definier mir mal dein "zu langsam".

Edit Sind ja sogar 600.000 Seiten. Also alles noch mal mal zehn. Wie schnell ziehst du den 6 GB m,it deiner Leitung?

horst 21. Nov 2004 23:18

Re: webbrowser zu langsam
 
es oll doch nicht alles auf einmal durchsucht werden.
ich frage mich gerade nur ob es eine schnellere lösung gibt.
begründen tue ich es damit, dass ich programme gesehen habe die innerhalb kürzester zeit tausende von seiten indizieren um nach bestimmten informationen zu suchen/finden.
allerdings arbeiten diese programme mit threads, und davon habe ich überhaupt keine ahnung...
mit kürzester zeit meine ich z.b. einen tag :)

Luckie 21. Nov 2004 23:39

Re: webbrowser zu langsam
 
Threads wäre in der Tat eine Lösung.

Sprint 21. Nov 2004 23:41

Re: webbrowser zu langsam
 
Vielleicht ist deine Suchfunktion auch einfach zu langsam.

horst 22. Nov 2004 00:18

Re: webbrowser zu langsam
 
mit threads ist bestimmt viel zu aufwendig, von der programmierung her.

und das meine suchfunktion zu langsam sein könnte ist auch möglich.

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  s: string;
  ib, i: Integer;
  s1, s2: string;
  dir: string;
begin
  memo1.Clear;
  memo2.Clear;
  ib := 0;
  Memo1.Text := WebBrowser1.OleObject.Document.body.innerHTML;
  s2 := Memo1.Text;
  while pos('>(', s2) > 0 do
  begin
    while s1 <> '(hotel)</span>' do
    begin
      Inc(ib);
      s1 := copy(s2, pos('>(', s2) - 1 + ib, 1);
      if s1 = '<' then
        break;
      s := s + s1;
    end;
    memo2.lines.Add(s);
    s2 := copy(s2, pos('>(', s2) + Length(s), Length(Memo1.Text));
    s := '';
    s1 := '';
    ib := 0;
     for i := 0 to memo2.lines.count - 0 do begin
      if Pos('(hotel)', Memo2.Lines.Strings[i]) = 0 then
        Memo2.Lines.Delete(i);
    end;
  end;
   AppendOrWriteTextToFile(dir + 'logfile.txt', Memo2.Text);
end;

moritz 22. Nov 2004 06:16

Re: webbrowser zu langsam
 
Empfehlung von mir: Threads ( Suchfunktion ) und reguläre Ausdrücke ( Suchfunktion )


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr.

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