使用 Rvest 进行网页抓取 - 使用 xpath 将表提取为数据框

问题描述 投票:0回答:1

我正在尝试使用通过 Chrome 浏览器复制的 XPath 来提取此页面上的表格

https://clinicaltrials.gov/study/NCT05817110?tab=history

我尝试过使用此代码,但它不起作用。我偶尔会从事网页抓取工作,对 HTML 有基本的了解。预先感谢您对此提供的任何帮助。

# URL of the webpage url <- "https://clinicaltrials.gov/study/NCT05817110?tab=history" # Fetch the webpage webpage <- read_html(url) # Extract the table using the XPath table_data <- webpage %>% html_nodes(xpath = '/*[@id="study-record-versions-table"]/ctg-card/div/div[2]/ctg-history-changes-table/table/tbody') %>% html_table(fill = TRUE)
    
r web-scraping xpath rvest
1个回答
0
投票
看起来页面使用了 javascript 来加载页面。有几种可能的解决方案。 使用

read_html_live()

 或直接通过 api 链接访问数据:“https://clinicaltrials.gov/api/int/studies/NCT05817110?history=true”(使用浏览器开发人员工具的网络选项卡找到)

study <- jsonlite::fromJSON("https://clinicaltrials.gov/api/int/studies/NCT05817110?history=true") study$history$changes
    
© www.soinside.com 2019 - 2024. All rights reserved.