Einzelnen Beitrag anzeigen

G-Baumstamm

Registriert seit: 9. Jan 2010
63 Beiträge
 
Delphi 7 Enterprise
 
#1

IdHttp.Get & Geschwindigkeit

  Alt 18. Mai 2012, 10:19
Delphi-Version: 7
Heyho liebe Expertengemeinde,

erstmal will ich kurz die Situation beschreiben: Ich hab 10 Namen, zu denen ich von einer Website Informationen auslesen möchte. Wenn ich das manuell ohne Programm mache, muss ich zunächst den Namen auf der Website in die Suche eingeben, kriege dann mehrere Varianten von denen ich mir die richtige aussuche, dann lade ich die Seite und habe meine Infos.

Realisiert habe ich das folgendermaßen: Aus meinem Namen generiere ich die URL der Suchanfrage, lade mit TIdHttp.Get(URL) den Code der Website in einen String, ermittle mittels String-Operationen die ID zu dem Namen, aus dieser ID kann ich dann die URL der Seite mit meinen Infos generieren, den Quelltext dieser wieder mit Get in einen String transferieren und mit String-Operationen meine Informationen auslesen.

Das funktioniert soweit auch problemlos. Allerdings dauert der ganze Vorgang pro Name etwa 10 Sekunden, also läuft das Programm über 1einhalb Minuten auf Hochtouren, so das es auf etwaige Benutzeraktionen überhaupt nicht mehr reagiert. Meine Tests haben ergeben, das etwa 95% der Zeit für das Laden des Quelltexts mit Get draufgehen, an anderen Stellen ist eine Optimierung für mich also im Moment wenig sinnvoll.

Deshalb die Fragen:

1) Kann man mein Vorgehen irgendwie beschleunigen / optimieren ? Also mit nem anderen Ansatz, der das gleiche Ergebnis liefert, oder ner Optimierung von meinem, oder weiß der Geier ...

2) Unabhängig davon, wie lange das Programm beschäftigt ist: Kann ich irgendwie erreichen, das es währenddessen nicht völlig "tot" ist ? Wenn nen Browser ne Website lädt, reagiert er ja auch nicht die ganze Zeit weder auf Klicken auf Schließen / Minimieren / Buttons in der Toolbar etc ...

Vielen Dank für Eure Hilfe !
Daniel NR
  Mit Zitat antworten Zitat