0
我正在研究一種從網頁抓取圖像的快速工具。目前,我使用WebClient獲取頁面的源數據,將圖像URL從源代碼中解析出來,然後使用WebClient.DownloadFile將它們單獨下載到文件夾中。這可能需要很長時間。
據我所知,大部分時間是由於我的連接和下載數據。
有沒有其他更有效的方法來解決這個問題,無論是C#HTML解析庫還是其他的東西?優化網頁抓取
我正在研究一種從網頁抓取圖像的快速工具。目前,我使用WebClient獲取頁面的源數據,將圖像URL從源代碼中解析出來,然後使用WebClient.DownloadFile將它們單獨下載到文件夾中。這可能需要很長時間。
據我所知,大部分時間是由於我的連接和下載數據。
有沒有其他更有效的方法來解決這個問題,無論是C#HTML解析庫還是其他的東西?優化網頁抓取
您可以使用多個線程,這將打開到網頁的多個併發HTTP連接。
一個好方法是實現生產者/消費者模式:有一個線程可以獲取並分析包含圖像的HTML,然後將圖像URL排隊到像BlockingCollection之類的東西。讓多個線程從隊列中讀取圖像URL並同時下載圖像。
http://msdn.microsoft.com/en-us/library/dd997371.aspx
如果你是彌補尖端,這個類,如果問題是非常適合TPL數據流(替代的BlockingCollection)。