使用Rvest进行网页爬取时如何正确指定html_node()参数?
R语言爬取Footywire比赛统计表格的正确方法
你之前的问题出在选择器选错了——match-statistics-team1-row是表格内每行的类名,不是表格本身的选择器,所以无法定位到表格元素。
正确的做法是定位页面中两个统计表格的共同类名.match-statistics-table,具体代码如下:
library(rvest) library(dplyr) # 目标页面URL url <- "https://www.footywire.com/afl/footy/ft_match_statistics?mid=10751" # 读取页面内容 page_content <- read_html(url) # 提取所有class为match-statistics-table的表格(共2个) match_tables <- page_content %>% html_nodes(".match-statistics-table") %>% html_table() # 分别获取两支球队的统计表格 team1_stats <- match_tables[[1]] team2_stats <- match_tables[[2]]
关键说明:
- 用
html_nodes()(复数形式)替代html_node(),因为要提取两个表格,html_node()只会返回第一个匹配元素 .match-statistics-table是CSS类选择器,点号表示匹配对应类名的元素,页面中两支球队的统计表格都使用了这个类名
内容的提问来源于stack exchange,提问作者gimmethedata123
相关产品推荐
相关产品推荐

