Web ページから画像を取得するクイック ツールに取り組んでいます。現在、私は WebClient を使用してページのソース データを取得し、ソースから画像 URL を解析し、WebClient.DownloadFile を使用して個別にフォルダーにダウンロードしています。これにはかなり時間がかかる場合があります。
必要な時間のほとんどは、接続とデータのダウンロードによるものであることを理解しています。
C# HTML 解析ライブラリであろうと他のものであろうと、これを行うための他のより効率的な方法はありますか?
質問する
251 次
1 に答える
1
複数のスレッドを使用して、Web ページへの複数の同時 HTTP 接続を開くことができます。
良いアプローチの 1 つは、プロデューサー/コンシューマー パターンを実装することです。画像を含む HTML を取得して解析し、画像 URL を BlockingCollection などのキューに入れる 1 つのスレッドを用意します。複数のスレッドでキューから画像 URL を読み取り、画像を同時にダウンロードします。
http://msdn.microsoft.com/en-us/library/dd997371.aspx
最先端を目指している場合、このクラスの問題は TPL データフロー (BlockingCollection の代替) に最適です。
于 2012-12-17T19:47:00.833 に答える