You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用R读取LACNIC指定URL的竖线分隔数据并生成DataFrame?

解决方法

目标页面的内容并非标准HTML表格,而是以|为分隔符的纯文本嵌套在<p>标签中,因此html_table()无法识别。可按以下步骤提取并转换为DataFrame:

1. 提取文本内容

先从<p>标签中提取所有文本内容:

library(tidyverse)
library(rvest)

url <- "https://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-extended-latest"
page <- read_html(url)

# 提取p标签内的文本
raw_text <- page %>% html_element("p") %>% html_text2()

2. 分割文本并转换为DataFrame

将提取到的文本按行拆分,再按|分割每一行,最后整理成DataFrame:

# 按行拆分文本,过滤空行
text_lines <- str_split(raw_text, "\n") %>% unlist() %>% keep(~ .x != "")

# 按|分割每一行,转换为数据框
df <- text_lines %>% 
  str_split_fixed("\\|", n = Inf) %>% 
  as.data.frame(stringsAsFactors = FALSE)

# 可选:设置列名(跳过第一行元数据)
col_names <- c("registry", "cc", "type", "start", "value", "date", "status")
df <- df[-1, ] %>% set_names(col_names)

补充说明

  • html_text2()会自动处理换行符,比html_text()更适合提取多行文本
  • str_split_fixed("\\|", n = Inf)确保按所有|分割,不会遗漏字段
  • 第一行是文件元数据(版本、注册机构、日期等),可选择跳过并给数据框设置合理列名

内容的提问来源于stack exchange,提问作者Rodrigo H. Ozon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 18:01:19