2012-05-17 91 views
2

所以即時通訊製作一個類似於網絡爬蟲的程序。它會下載頁面的html,並使用正則表達式解析特定文本,然後將其添加到列表中。c中的異步http請求#

爲了實現這一點,我使用了異步http請求。 GET請求被異步發送,並且解析操作在返回的html上執行。

我的問題,我不知道如果它可能很簡單,是該程序無法順利運行。它會發送一堆請求,暫停幾秒鐘,然後遞增一次解析的項目(儘管計數器每次增加一個項目都會增加一次),例如它會從53跳轉到69,而不是顯示,54,55,56,...

對不起,因爲作爲一個新人,但我教了自己所有這些東西和一些有經驗的建議會走很長的路。

謝謝

+0

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – SLaks

+0

這是一個特定的網站,其中HTML總是在與變化的變量相同的形式,所以正則表達式工作正常。 – blizz

+0

,但出於好奇,是否有另一種更有效的方法呢? – blizz

回答

4

這聽起來正確。

任務中最慢的部分是通過網絡下載頁面。

程序開始一次下載一堆頁面,等待它們到達,然後幾乎立即分析它們。

+0

在這種情況下,我可以優先考慮主線程嗎?也就是將異步請求排隊到ThreadPool的線程? 我需要這個,因爲主線程每次發出20個異步請求時也發出請求。所以最近發生的事情是,它在所有已經排隊的ThreadPool請求後阻塞整個程序,等待其響應。 – blizz

+0

@ user1115071:考慮使用已經爲此優化的TPL。 – SLaks

+0

請原諒我的無知,因爲我從未使用過TPL。我應該將它用於所有線程,還是僅用於我提到的主要線程? – blizz