Цель
Я хотел бы использовать R для загрузки HTML-страницы Google Search, как показано в веб-браузере.
Проблема
Когда я загружаю веб-страницу Google Search HTML в R, используя тот же URL-адрес из веб-браузера, я заметил, что загруженный R-код отличается от веб-браузера HTML, например. для продвинутого URL-адреса Google, параметр даты игнорируется в HTML, читаемом R, тогда как в веб-браузере он сохраняется.
Пример
Я использую Google Search в своем веб-браузере для "West End Theater" и задаю диапазон дат с 1 января по 31 января 2012 года. Затем я копирую сгенерированный URL-адрес и вставляю его в R.
# Google Search URL from Firefox web browser
url <- "http://www.google.co.uk/search?q=west+end+theatre&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB:official&client=firefox-a#q=west+end+theatre&hl=en&client=firefox-a&hs=z7I&rls=org.mozilla:en-GB%3Aofficial&prmd=imvns&sa=X&ei=rJE7T8fwM82WhQe_6eD2CQ&ved=0CGoQpwUoBw&source=lnt&tbs=cdr:1%2Ccd_min%3A1%2F1%2F2012%2Ccd_max%3A31%2F1%2F2012&tbm=&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&fp=6f92152f78004c6d&biw=1600&bih=810"
u <- URLdecode(url)
# Webpage as seen in browser
browseURL(u)
# Webpage as seen from R
HTML <- paste(readLines(u), collapse = "\n")
cat(HTML, file = "output01.html")
shell.exec("output01.html")
# Webpage as seen from R through RCurl
library(RCurl)
cookie = 'cookiefile.txt'
curl = getCurlHandle(cookiefile = cookie,
useragent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en - US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6",
header = FALSE,
verbose = TRUE,
netrc = TRUE,
maxredirs = as.integer(20),
followlocation = TRUE,
ssl.verifypeer = TRUE,
cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
HTML2 <- getURL(u, curl = curl)
cat(HTML2, file = "output02.html")
shell.exec("output02.html")
Запустив автономный код выше, я вижу, что первая открытая веб-страница - это то, что я хочу (с принудительным параметром даты), но на втором и третьем веб-страницах, которые открываются (как загружено через R), есть параметр даты игнорируются.
Вопрос
Как загрузить HTML-версию для первой веб-страницы, которая открывается вместо вторых/третьих веб-страниц?
Информация о системе
> sessionInfo()
R version 2.14.0 (2011-10-31)
Platform: x86_64-pc-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252 LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RCurl_1.6-10.1 bitops_1.0-4.1
loaded via a namespace (and not attached):
[1] tools_2.14.0