使用rvest与tidyverse爬取网页表格返回空表的问题排查
问题排查与解决
你的代码返回空表的核心原因是选择器错误:你使用了.table类选择器,但目标网页里的表格并没有这个class属性,html_nodes找不到匹配的元素,自然输出空结果。
修正后的代码
library(rvest) library(tidyverse) url <- "https://vos.oph.fi/cgi-bin/tiedot2.cgi?saaja=1361;tnimi=kust/v08/k05k7s.lis" webpage <- read_html(url) # 直接用table标签选择,网页内的表格是标准<table>元素 table_code <- html_nodes(webpage, "table") table1 <- html_table(table_code, header = TRUE, trim = TRUE)[[1]] # 提取网页中唯一的表格 table1
额外说明
如果后续遇到包含多个表格的网页,可使用html_node()(单数形式)直接获取第一个表格,或用purrr::map()批量处理所有表格。本次目标网页仅含一个表格,因此用[[1]]提取列表内的唯一元素即可。
内容的提问来源于stack exchange,提问作者Tiina kuuppelomäki
相关产品推荐
相关产品推荐

