Почему url.exists возвращает FALSE, если URL существует с помощью RCurl?
Например:
if(url.exists("http://www.google.com")) {
# Two ways to submit a query to google. Searching for RCurl
getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search")
# Here we let getForm do the hard work of combining the names and values.
getForm("http://www.google.com/search", hl="en", lr="",ie="ISO-8859-1", q="RCurl", btnG="Search")
# And here if we already have the parameters as a list/vector.
getForm("http://www.google.com/search", .params = c(hl="en", lr="", ie="ISO-8859-1", q="RCurl", btnG="Search"))
}
Это пример из руководства по пакету RCurl. Однако это не работает:
> url.exists("http://www.google.com")
[1] FALSE
Я нашел ответ на этот вопрос здесь. Rcurl: url.exists возвращает false, если URL существует. Он сказал, что это потому, что пользовательский агент по умолчанию не является полезным. Но я не понимаю, что такое пользовательский агент и как его использовать.
Также эта ошибка произошла, когда я работал в моей компании. Я попробовал тот же код дома, и он работал найти. Я предполагаю, что это из-за прокси. Или есть некоторые другие причины, которые я не осознавал.
Мне нужно использовать RCurl для поиска моих запросов в Google, а затем извлечь информацию, такую как заголовок и описания, с веб-сайта. В этом случае, как использовать пользовательский агент? Или пакет httr может сделать это?
1 ответ
Ребята. Большое спасибо за помощь. Я думаю, я только что понял, как это сделать. Важной вещью является прокси. Если я использую:
> opts <- list(
proxy = "http://*******",
proxyusername = "*****",
proxypassword = "*****",
proxyport = 8080
)
> url.exists("http://www.google.com",.opts = opts)
[1] TRUE
Тогда все сделано! Вы можете найти свой прокси под System ->proxy, если вы используете win 10. В то же время:
> site <- getForm("http://www.google.com.au", hl="en",
lr="", q="r-project", btnG="Search",.opts = opts)
> htmlTreeParse(site)
$file
[1] "<buffer>"
.........
В getForm также должны быть введены опции. Здесь есть два автора ( настройки прокси-сервера RCurl по умолчанию и настройки прокси-сервера для R), отвечающие на один и тот же вопрос. Я не пробовал, как извлечь информацию отсюда.