我一直在尝试使用 R 进行一些网页抓取,并且在几个页面中它相对容易。但是我已经为一个特定的网页苦苦挣扎了好几个星期:
我认为,问题在于最终页面使用 javascript 加载数据。
起初我以为这是一个非常简单的案例;毕竟,它只是一个你在浏览器中查看数据的链接,所以我想好吧,这是一个古老的 http get 请求,我天真地尝试了这样的事情:
library(httr)
url <- "https://www.commerzbank.de/de/hauptnavigation/kunden/kursinfo/devisenk/weitere_waehrungen___indikative_kurse/indikative_kurse.jsp"
res1 <- GET(url = url)
由于它不起作用,我检查了网页的工作原理,如下所示。首先,它设置一些 cookie 和几个参数,然后将浏览器(通过 http POST 请求)重定向到 URL https://www.commerzbank.de/rates/do.rates。这个新页面加载了一个巨大的 javascript 代码(1923 行代码,由http://jsbeautifier.org/格式化),负责下载数据并生成 html 代码以显示它。此代码使用原始页面设置的 cookie 和参数来确定要下载和显示哪些数据。
我在 R 中尝试了太多东西来获取这个网页中的数据。我不会把我尝试过的所有疯狂的东西都放在这里,因为它太长了(有时很尴尬),但我已经尝试过使用 RCurl 和其他包(repmis、scrapeR、httr、rjson 等)的大多数功能. 似乎没有任何工作,因为这些软件包似乎都没有办法(至少自动)使 javascript 代码运行以下载数据。
是否有任何包/隐藏功能可以帮助我完成此任务?
提前致谢。