2013-05-01 70 views
0

我想用R來瀏覽網頁,但我有一個奇怪的問題,可以說我有一個名爲URLlist的列表,其中包含一些URL。這裏是我的代碼getURL卡住,需要等待函數

for (k in 1:length(URLlist)){ 
    temp = getURL(URLlist[k]) 
} 

我不知道爲什麼,但在一些隨機的URL,R塊。它與URL無關,因爲它可以用於執行循環,但不能用於另一個用於相同URL的循環。我認爲循環會很快,並且數據的下載不會跟隨。所以我想在每次新的getURL函數調用之前讓代碼等待1個seconde,但是我沒有找到這樣的等待函數。 有什麼想法嗎?謝謝 ! ?

+2

我不確定你所描述的出錯是甚至可能的。 R是單線程的。每次調用'getURL'時,R將不會執行任何其他操作,直到它完成或引發錯誤。 – joran 2013-05-01 21:57:48

+0

當我嘗試訪問配置不正確的代理後面的HTTPS內容時,R有時會掛起。 – 2013-05-01 23:01:25

回答

3

Sys.sleep()

說明:

Suspend execution of R expressions for a given number of seconds 

用法:

Sys.sleep(time) 

參數:

time: The time interval to suspend execution for, in seconds. 

這是否會解決你的問題是另一個問題。

我會建議看看XML包,並使用htmlParse()與R在網上衝浪,因爲很少有實例要將html作爲文本返回。