RSelenium 或 Javascript:展开网站上的所有 java 可扩展元素
RSelenium or Javascript: Expand all java expandable element on a website
我现在正在做一个项目,需要从这个网站上抓取信息:
我已经设法用 RSelenium 和 Rvest 抓取 table。但是我想将一些细节添加到数据框中,这些细节可以在可扩展的 java (?) 对象中找到。我在这里说明了对象:
Tables
本质上,我需要在抓取之前展开所有这些内容以包含它们。有没有一种简单的方法可以用代码来做到这一点?昨天我有一个手动点击它们的脚本,需要几个小时才能完成。
是否可以在网站上注入代码将它们全部展开,或者让 RSelenium 执行代码?
下面的脚本将允许您抓取网页和 select 相关日期和法院。使用您需要的日期范围和法院修改“查询”。我选择了列表中的第一个法院。您可以通过检查页面并搜索 FormData.Court.
来找到法院代码
library(tidyverse)
library(httr)
library(rvest)
#################################
## FUNCTION TO PROCESS DATA ##
#################################
parseDetails <- function(pg_dtls){
dt <- pg_dtls %>%
html_elements('dt') %>%
html_text()
dd <- pg_dtls %>%
html_elements('dd') %>%
html_text()
tbl <- pg_dtls %>%
html_element('table') %>%
html_table()
df <- as.data.frame(dd, row.names = dt) %>% set_names("Details")
rtnList <- list(mainData = df, otherData = tbl)
}
###############################
## SCRAPE WEB PAGE ##
###############################
url <- "https://www.domstol.no/enkelt-domstol/hoyesterett/saksliste/berammingsliste/"
query <- list('FormData.From'="25.02.2022",
'FormData.To'="07.03.2022",
'FormData.Court'="AAAA2104220835148622091WAFLAU#EJBOrgUnit")
response <- POST(url, body = query)
dtls <- content(response, "parsed") %>%
html_elements("button") %>%
html_attr("data-action") %>%
na.omit() %>%
paste0("https://www.domstol.no/", .) %>%
map(read_html)
scrapedData <- map(dtls, parseDetails)
我现在正在做一个项目,需要从这个网站上抓取信息:
我已经设法用 RSelenium 和 Rvest 抓取 table。但是我想将一些细节添加到数据框中,这些细节可以在可扩展的 java (?) 对象中找到。我在这里说明了对象:
Tables
本质上,我需要在抓取之前展开所有这些内容以包含它们。有没有一种简单的方法可以用代码来做到这一点?昨天我有一个手动点击它们的脚本,需要几个小时才能完成。
是否可以在网站上注入代码将它们全部展开,或者让 RSelenium 执行代码?
下面的脚本将允许您抓取网页和 select 相关日期和法院。使用您需要的日期范围和法院修改“查询”。我选择了列表中的第一个法院。您可以通过检查页面并搜索 FormData.Court.
来找到法院代码 library(tidyverse)
library(httr)
library(rvest)
#################################
## FUNCTION TO PROCESS DATA ##
#################################
parseDetails <- function(pg_dtls){
dt <- pg_dtls %>%
html_elements('dt') %>%
html_text()
dd <- pg_dtls %>%
html_elements('dd') %>%
html_text()
tbl <- pg_dtls %>%
html_element('table') %>%
html_table()
df <- as.data.frame(dd, row.names = dt) %>% set_names("Details")
rtnList <- list(mainData = df, otherData = tbl)
}
###############################
## SCRAPE WEB PAGE ##
###############################
url <- "https://www.domstol.no/enkelt-domstol/hoyesterett/saksliste/berammingsliste/"
query <- list('FormData.From'="25.02.2022",
'FormData.To'="07.03.2022",
'FormData.Court'="AAAA2104220835148622091WAFLAU#EJBOrgUnit")
response <- POST(url, body = query)
dtls <- content(response, "parsed") %>%
html_elements("button") %>%
html_attr("data-action") %>%
na.omit() %>%
paste0("https://www.domstol.no/", .) %>%
map(read_html)
scrapedData <- map(dtls, parseDetails)