如何将HTML页面中的柬埔寨银行信息列表导入R语言?
解决柬埔寨银行列表导入R的问题
问题原因
你之前的代码没有定位到页面中存储银行信息的具体容器——该页面的银行条目是通过div.member-item类节点组织的,而非传统的<table>标签,所以直接调用html_table()无法获取有效数据。
正确实现步骤
- 加载所需R包
library(rvest) library(dplyr) library(purrr)
- 读取目标页面并定位银行条目节点
url <- "https://www.abc.org.kh/member-list/" page <- read_html(url) # 抓取所有银行条目对应的节点 member_nodes <- page %>% html_nodes(".member-item")
- 从每个节点提取银行信息(名称、地址、电话、官网)
bank_df <- map_df(member_nodes, function(node) { tibble( 银行名称 = node %>% html_node("h4") %>% html_text(trim = TRUE), 地址 = node %>% html_node(".address") %>% html_text(trim = TRUE), 电话 = node %>% html_node(".phone") %>% html_text(trim = TRUE), 官网链接 = node %>% html_node("a[href^='http']") %>% html_attr("href") ) })
- 查看结果
print(bank_df)
代码说明
- 使用
.member-item精准定位每个银行的独立条目容器 - 通过
html_node()从每个容器内提取对应字段,trim = TRUE去除冗余空格 map_df()自动将循环结果整合成数据框,缺失信息会以NA显示
内容的提问来源于stack exchange,提问作者San Vibol
相关产品推荐
相关产品推荐

