![]() |
Quelltexte schnell herunterladen... *sehr* schnell :)
Moin,
ich habe ein kleines performanceproblem: ich bastel ein tool, welches versucht, die struktur einer webseite im eplorer-stiel darzustellen. dazu lädt es die quelltexte herunter und wertet die links dieses dokuments aus. nur das herunterladen dieser quelltexte dauert bei mir recht lange, so 1-2 sekunden für eine seite, während meine vergleichsanwendung, der acunetix scanner, in dieser zeit bestimmt 20 seiten schafft. nun stellt sich mir die frage, wie lädt man schnell die quelltexte einer webseite herunter? |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Vielleicht "parallel" mit Threads?!?
MFG Florian :hi: |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Ich vermute, du machsts das momentan noch mit den Indys. Da wird jedesmal eine neue Verbindung aufgebaut. Wenn du das mit den Winsocks machst, kannst du einmal die Verbdindung aufbauen, und dann einfach alle Websiten herunterladen. Und ansonsten oder auch dafür: Threads!
|
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Ping den Server vorher an, bevor du versuchst die Seite herunter zu laden.
|
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Zitat:
@moritz: bisher hab ichs mit einer funktion versucht, denke aus der codelib, ich hab sie leider nicht mehr, jedenfalls noch nichtmal mit den indys. mal schaun wie das mit den sockets geht... an multithreading habe ich prinzipiell auch schon gedacht, aber bringt das so viel? |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
klar bringt multitheading viel weil du mehrere seiten gleichzeitig runterlädst und nicht erst wartest bis der eine download abgeschlossen ist. Der hauptteil der zeit bei den meisten seiten geht für das connect drauf und dabei wird die verfügbare geschwindigkeit nicht voll genutzt, also ist es schneller mehre connects und downloads gleichzeitig laufen zu lassen.
|
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Zitat:
Aber was red ich eigentlich, was soll auch passieren, wenn der Dienst down ist. :roll: |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Du könntest es auch mal mit HTTP-Pipelining versuchen, sofern du weißt, daß die Hosts alle HTTP/1.1 unterstützen.
@bigg: Deine Idee war ar nicht sooo schlecht, durch den Ping wird die Domain des Hosts einmal aufgelöst, und die IP kann man sich ja merken, dann spart man sich für's nächste Mal die DNS-Abfrage ;-) Aber Windows macht das glaube ich eh selber, wenn ich mich nicht irre. |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Zitat:
Müsste eigentlich. Anders gesagt: Ich kann mir nicht vorstellen, dass der Netzwerkstack von Windows DNS-Informationen nicht cacht. |
Re: Quelltexte schnell herunterladen... *sehr* schnell :)
Sers,
Meflin, schau dir mal meinen Code ![]() Ansonsten: Auf jeden Fall Multithreading und keine Indys! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 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 by Thomas Breitkreuz