R语言网页爬取:如何在fbref筛选data-stat为date的节点
提取fbref足球比赛日期的R解决方案
核心解决思路
你之前用.left选择器获取了大量无关节点,只需通过CSS属性选择器精准筛选带有data-stat="date"属性的.left节点即可,目标节点为<th>标签,直接定位这类节点就能拿到所需数据。
修改后的完整R代码
# 加载所需包 library(rvest) # 目标URL(注意添加引号) url <- "https://fbref.com/it/squadre/d609edc0/Statistiche-Internazionale" # 读取网页内容 html_data <- read_html(url) # 精准筛选目标节点并提取日期文本 match_dates <- html_data %>% html_nodes("th.left[data-stat='date']") %>% # 定位class为left且data-stat=date的<th>节点 html_text() # 提取节点内的日期文本 # 查看结果示例 head(match_dates)
代码说明
th.left[data-stat='date']:CSS选择器组合,同时匹配三个条件:- 标签为
<th> - class包含
left data-stat属性值为date
- 标签为
html_text():直接提取节点内显示的日期文本(如19-08-2023),如果需要提取对应的比赛页面链接,可替换为html_attr("href")
内容的提问来源于stack exchange,提问作者fciancio23
相关产品推荐
相关产品推荐

