2013-03-09 64 views
0

我需要編寫一個程序,與Bing.com並行地發送大約200個搜索查詢,其效率與後面一樣有效。考慮阻塞線程和服務器錯誤,我應該如何最好地實現它。並行批量搜索海量查詢

例如:發送搜索http://www.bing.com/search?q=.net,但關鍵字是不同的每個serach。

更新 Cuurently,我用HttpClientTask類發送請求,等待/阻塞,並得到結果。我想知道你的解決方案會不會更好。

任何想法或鏈接將非常感激!

更新

至於建議,我應該使用它的API密鑰。

+0

你想用搜索做什麼?這可能很容易用[任務並行庫]完成(http://msdn.microsoft.com/en-us/library/dd460717.aspx) – Prescott 2013-03-09 22:46:44

+0

是的,我正在使用Task類。我需要下載所有結果。 – Pingpong 2013-03-09 22:48:10

回答

1

搜索引擎不喜歡被內容抓取。它反對他們的TOS,他們積極地阻止它。

除非你有一個允許這樣的協議(因此api鍵),否則它會很難。

該代碼可能僅僅是異步Web請求,或者(更簡單但效率可能較低)並行同步Web請求。

但是,您需要訪問相當數量的代理以避免不可避免的IP禁令。我不會建議你嘗試這樣做

+0

謝謝!我將改爲使用API​​密鑰。在編程邏輯方面,請看我的更新。 – Pingpong 2013-03-09 22:44:17

+0

如前所述,最簡單的選擇將是並行循環中的webrequests,請參閱我的例子(vb.net,但很容易轉換爲c#)http://stackoverflow.com/questions/13842201/how-to-油門併發異步webrequests – Steve 2013-03-09 22:52:12