使用R自动读取用javascript编写的动态表的内容
我使用的数据来自一个印度尼西亚网站,该网站由一个表组成,该表是用javascript动态生成的(不同年份和省份)。我尝试用R(使用R Studio)将其自动化。该网站是,该表位于子网站“箭头-->选项卡”(我无法直接提供指向该页面的链接,因为它是动态生成的) 我已经为这个问题搜索了一个api,但还没有找到。即使我点击页面,链接也不会更新。XPath(我通常用于web抓取)不起作用使用R自动读取用javascript编写的动态表的内容,javascript,r,web-scraping,automation,rvest,Javascript,R,Web Scraping,Automation,Rvest,我使用的数据来自一个印度尼西亚网站,该网站由一个表组成,该表是用javascript动态生成的(不同年份和省份)。我尝试用R(使用R Studio)将其自动化。该网站是,该表位于子网站“箭头-->选项卡”(我无法直接提供指向该页面的链接,因为它是动态生成的) 我已经为这个问题搜索了一个api,但还没有找到。即使我点击页面,链接也不会更新。XPath(我通常用于web抓取)不起作用 我将非常感谢你的帮助 Croote是正确的,您将需要使用无头浏览器来触发所有必要的javascript代码。您可以尝
我将非常感谢你的帮助 Croote是正确的,您将需要使用无头浏览器来触发所有必要的javascript代码。您可以尝试,例如,或者使用。Croote是正确的,您将需要使用无头浏览器,该浏览器将为您触发所有必要的javascript代码。您可以尝试,例如,或者使用。页面会根据您在表中的选择执行POST请求,其中body参数基于您在表中的选择。您需要探索参数。我认为参数很可能是按下拉列表的顺序出现的。下面是一个无需硒即可检索2018年数据的示例。我曾经在手动选择时监视web流量
library(httr)
library(rvest)
library(magrittr)
body <- list('vth' = 2018
,'vbl'=''
,'vtg'=''
,'vpr'=''
,'vkb'=''
,'vjn'=1)
r <- POST("http://bnpb.cloud/dibi/tabel1b",body = body)
t <- content(r) %>% html_node('#tbl') %>% html_table(fill = T)
库(httr)
图书馆(rvest)
图书馆(magrittr)
body页面执行POST请求,其中body参数基于您在表中的选择。您需要探索参数。我认为参数很可能是按下拉列表的顺序出现的。下面是一个无需硒即可检索2018年数据的示例。我曾经在手动选择时监视web流量
library(httr)
library(rvest)
library(magrittr)
body <- list('vth' = 2018
,'vbl'=''
,'vtg'=''
,'vpr'=''
,'vkb'=''
,'vjn'=1)
r <- POST("http://bnpb.cloud/dibi/tabel1b",body = body)
t <- content(r) %>% html_node('#tbl') %>% html_table(fill = T)
库(httr)
图书馆(rvest)
图书馆(magrittr)
身体你试过使用硒吗?你试过使用硒吗?谢谢,这很有帮助!我在弄清楚如何运行这个程序时遇到了一些问题,只收到了错误消息。有适合非计算机科学人士的快速教程吗?@JonathanOld你看过RSelenium软件包的最新版本了吗?谢谢,这很有帮助!我在弄清楚如何运行这个程序时遇到了一些问题,只收到了错误消息。有没有为非计算机科学人士提供的快速教程?@JonathanOld你看过RSelenium软件包的最新版本了吗?