2013-05-01 43 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作为文本返回。