2013-05-01 4 views
0

Я пытаюсь использовать R для поиска в Интернете, но у меня странная проблема, скажем, что у меня есть список с именем URL-список, содержащий некоторый URL-адрес. Вот мой кодgetURL застрял, нужна функция ожидания

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

Я не знаю почему, но с некоторым случайным URL-адресом, R-блоками. Он не имеет никакого отношения к URL-адресу, поскольку он может работать для выполнения цикла, но не для другого, для одного и того же URL-адреса. Я думаю, что цикл будет быстрым и что загрузка данных не будет следовать. Поэтому я думал о том, чтобы код ожидал 1 секунду перед каждым новым вызовом функции getURL, но я не нашел такую ​​функцию ожидания. Любая идея, пожалуйста? Спасибо ! ?

+2

Я не уверен, что то, что вы описываете как ошибочное, даже возможно. R - однопоточный. Каждый раз, когда вы вызываете 'getURL'R, ничего не будет делать, пока он не завершит или не выкинет ошибку. – joran

+0

R иногда зависает, когда я пытаюсь получить доступ к содержимому HTTPS за плохо настроенным прокси. –

ответ

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 возвращался в виде текста.