0

Web ページから画像を取得するクイック ツールに取り組んでいます。現在、私は WebClient を使用してページのソース データを取得し、ソースから画像 URL を解析し、WebClient.DownloadFile を使用して個別にフォルダーにダウンロードしています。これにはかなり時間がかかる場合があります。
必要な時間のほとんどは、接続とデータのダウンロードによるものであることを理解しています。
C# HTML 解析ライブラリであろうと他のものであろうと、これを行うための他のより効率的な方法はありますか?

4

1 に答える 1

1

複数のスレッドを使用して、Web ページへの複数の同時 HTTP 接続を開くことができます。

良いアプローチの 1 つは、プロデューサー/コンシューマー パターンを実装することです。画像を含む HTML を取得して解析し、画像 URL を BlockingCollection などのキューに入れる 1 つのスレッドを用意します。複数のスレッドでキューから画像 URL を読み取り、画像を同時にダウンロードします。

http://msdn.microsoft.com/en-us/library/dd997371.aspx

最先端を目指している場合、このクラスの問題は TPL データフロー (BlockingCollection の代替) に最適です。

http://msdn.microsoft.com/en-us/devlabs/gg585582.aspx

于 2012-12-17T19:47:00.833 に答える