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

如何使用R将指定网页数据抓取并导出为CSV?

解决Invergordon 2025邮轮时刻表网页抓取及CSV导出问题

问题原因

你之前用html_nodes("p")无效是因为页面的核心邮轮数据不是放在段落<p>标签里,而是存储在HTML表格<table>节点中。该页面没有提供直接下载的CSV文件,所以需要通过抓取表格来提取数据。

具体R实现步骤

  1. 加载必要工具包
# 未安装则先安装
install.packages(c("rvest", "dplyr"))
library(rvest)
library(dplyr)
  1. 读取网页并抓取表格数据
# 读取目标网页
scrape1 <- read_html("https://www.cruisetimetables.com/invergordon-scotland-cruise-ship-schedule-2025.html")

# 定位页面中的邮轮时刻表表格(页面仅含一个核心数据表格,直接定位table节点即可)
cruise_data <- scrape1 %>% 
  html_node("table") %>% 
  html_table(header = TRUE, fill = TRUE)  # fill=TRUE处理单元格跨行/跨列的情况
  1. 清理数据(可选)
    根据表格实际情况清理无效行或格式:
# 删除全为空值的行
cleaned_data <- cruise_data %>% 
  filter(!if_all(everything(), is.na))
  1. 导出为CSV文件
write.csv(cleaned_data, "invergordon_2025_cruise_schedule.csv", row.names = FALSE)

额外提示

如果后续遇到类似网页,可通过浏览器的开发者工具(F12)查看元素结构,确认数据所在的HTML标签类型(比如table、div等),再针对性地用html_node()/html_nodes()定位,避免盲目选择标签。

内容的提问来源于stack exchange,提问作者dreddlord

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 11:48:10