使用rvest爬取Pro Football Reference防守表遇xml_missing错误求助
解决Pro-Football-Reference防守表爬取错误问题
首先明确:HTM后缀不是问题,read_html完全能处理这种后缀的页面。你报错的核心原因是:用html_node('#div_all_player_defense')抓取的是包裹表格的div容器,而非表格本身,自然无法用html_table()解析。
直接定位到防守表的table节点即可,页面里的防守表id是player_defense,修正后的代码如下:
library(rvest) library(dplyr) url <- "https://www.pro-football-reference.com/boxscores/202402110kan.htm" table_defence <- url %>% read_html() %>% html_node('#player_defense') %>% # 直接定位到防守表的table节点 html_table(header = TRUE) %>% # 过滤页面中重复的表头行(这类行的第一列值为"X",用于滚动时固定表头) filter(X != "X")
补充说明:
- 页面内的防守表存在重复的表头行(滚动页面时会固定显示),这些行的第一列值为"X",用
filter(X != "X")可快速清理掉冗余行,得到干净的数据。 - 如果需要保留球队合计行,可去掉过滤步骤,或通过
Player列的内容(比如包含"Team Total"的行)单独筛选。
内容的提问来源于stack exchange,提问作者HowGoodisData
相关产品推荐
相关产品推荐

