如何在R语言rvest网页爬取中用for循环打印各网页表格?
解决方法
1. 用for循环打印每个表格
直接遍历所有表格节点,将每个节点转为可阅读的数据框后打印,代码如下:
root_node <- read_html("https://en.wikipedia.org/wiki/List_of_bicycle-sharing_systems") table_nodes <- html_nodes(root_node, "table") # for循环打印每个表格 for (i in seq_along(table_nodes)) { # 把HTML表格节点转为R数据框,fill参数处理单元格数量不一致的情况 table_df <- html_table(table_nodes[[i]], fill = TRUE) cat("===== 第", i, "个表格 =====\n") print(table_df) }
2. 提取并处理第一个共享单车表格
针对你关注的table_nodes[[1]],可以直接将其转为数据框进行查看或后续处理:
# 把第一个表格转为数据框 first_bike_table <- html_table(table_nodes[[1]], fill = TRUE) # 查看表格结构 str(first_bike_table) # 查看表格前几行内容 head(first_bike_table)
如果表格存在合并单元格的情况,html_table()会自动填充对应值,你可以根据实际需求做进一步的数据清洗(比如处理空值、调整列名等)。
内容的提问来源于stack exchange,提问作者w.chege
相关产品推荐
相关产品推荐

