ウェブページのソースをメモのコンポーネントにダウンロードする最も速い方法は何ですか?私はIndyコンポーネントとHttpCliコンポーネントを使用します。もっと速くダウンロードするには?
問題は、リストボックスに100以上のサイトがあり、私のプログラムがソースをメモにダウンロードし、そのソースをmp3ファイルとして解析していることです。それはGoogleの音楽検索プログラムのようなものです。それはGoogleの検索をより簡単にするためにGoogleのクエリを使用します。
私の質問につながるスレッドについて読み始めました。解析機能を持つスレッドでIdHttpインスタンスを作成し、リストボックスの半分のサイトを解析するように指示できますか?
だから、基本的にユーザーがクリックを解析する際に、メインスレッドが実行する必要があります。
for i := 0 to listbox1.items.count div 2 do
get and parse
、そして他のスレッドが実行する必要があります。
for i := form1.listbox1.items.count div 2 to form1.listbox1.items.count - 1 do
get and parse.
をので、彼らがでform1.listbox2
に解析されたコンテンツを追加します同じ時間。または、メインスレッドで2つのIdHttpインスタンスを開始する方が簡単かもしれません。 1つはサイトの前半、もう1つは第2のサイトですか?
これについて:私はIndyかSynapseを使用しますか?
私はあなたがSynchronizeが何をしているかについてのドキュメントを読んで、それぞれのスレッドが開始するときに、そしてeachが1つのURLを処理するたびに1つのURLだけを要求するよう勧めます。 WebサイトがXHTMLを使用している場合、MSXML2_TLBのDOMDocument.loadメソッドをチェックして、読み込みと解析がうまく機能するかどうかを確認します。 –