You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用rvest网页抓取:提取表格及行内悬浮文本并合并为数据框

解决表格与悬浮文本合并问题

以下是可实现表格数据与对应行悬浮文本合并的代码:

library(dplyr)
library(rvest)
library(purrr)

# 目标页面URL
url <- "https://clinicaltrials.gov/ct2/history/NCT04658186"
page <- read_html(url)

# 提取页面中的表格数据
table_data <- page %>%
  html_element("table") %>%
  html_table(fill = TRUE)

# 提取表格每行对应的悬浮文本(span的title属性)
hover_text <- page %>%
  html_elements("table tr") %>%
  purrr::map_chr(function(row) {
    # 提取当前行内span的title,无则返回NA
    row_title <- row %>% html_element("span") %>% html_attr("title")
    ifelse(is.null(row_title), NA_character_, row_title)
  })

# 移除表头行的悬浮文本(与表格数据行对齐)
hover_text <- hover_text[-1]

# 将悬浮文本合并为表格的新列
table_data <- table_data %>%
  mutate(Hover_Text = hover_text)

关键说明:

  1. 精准匹配行与悬浮文本:直接定位表格内的<tr>元素提取对应行的悬浮文本,避免全局提取<span>导致的顺序错位问题。
  2. 兼容无悬浮文本的行:通过判断逻辑给无悬浮文本的行填充NA,保证列长度与表格数据完全匹配。
  3. 对齐数据行:由于<table tr>包含表头行,移除第一个元素后,悬浮文本向量的长度与表格数据行数量完全一致。

内容的提问来源于stack exchange,提问作者Ashok G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 00:37:10