我正在尝试使用
rvest
来抓取 R 中以下链接的多个表中的所有数据。
https://report-nle.dephub.go.id/dashboard/detail/27019186
当我尝试以下代码时,我只能看到第一个表的内容。
tables <- read_html(url) %>% html_nodes(css = "table") %>% html_table()
[[1]]
# A tibble: 6 × 6
X1 X2 X3 X4 X5 X6
<chr> <chr> <chr> <chr> <chr> <chr>
1 Nama Kapal : MV. BRILLIANT EXPRESS Nama Perusahaan : PT. LAJU DINAMIKA UTAMA
2 Nahkoda : BANAL ELVIN REGALDO Jenis Kapal : WOOD CHIP CARRIER
3 Bendara / Call Sign / IMO : PA / 3ETN5 / 9502570 GT / DWT : 40269 / 49802
4 Panjang / Lebar : 199.91 / 0 Draft Depan / Belakang : 6 / 8
5 Draft Tengah / Max : / 11.787 Status NLE : Ya dengan nomor : 101018F3C3E66
6 Asal / Tujuan : RIZHAO PT / RIZHAO PT PKK / SPB : PKK.LN.IDBPN.2403.000682 / SPB.IDBPN.0324.0000951
[[2]]
# A tibble: 0 × 10
# ℹ 10 variables: No <lgl>, Nama Barang <lgl>, Jenis barang <lgl>, Unit/Ton/M3 <lgl>, No BL <lgl>, Shipper <lgl>, Consignee <lgl>,
# B/M <lgl>, LHV <lgl>, NTPN <lgl>
[[3]]
# A tibble: 0 × 10
# ℹ 10 variables: No <lgl>, Nama Barang <lgl>, Jenis barang <lgl>, Unit/Ton/M3 <lgl>, No BL <lgl>, Shipper <lgl>, Consignee <lgl>,
# B/M <lgl>, LHV <lgl>, NTPN <lgl>
[[4]]
# A tibble: 0 × 7
# ℹ 7 variables: Nomor PKK <lgl>, Pelabuhan <lgl>, ETA <lgl>, Asal <lgl>, ETD <lgl>, Tujuan <lgl>, Action <lgl>
[[5]]
# A tibble: 0 × 5
# ℹ 5 variables: Kode Billing <lgl>, Nama Wajib Bayar <lgl>, NTPN <lgl>, NTB <lgl>, Total <lgl>
我怎样才能获取所有其他表的内容?
尝试
read_html_live()
来自文档:
read_html() 对从服务器下载的 HTML 源代码进行操作。这适用于大多数网站,但如果网站使用 javascript 生成 HTML,则可能会失败。 read_html_live() 提供了一个在后台运行实时网络浏览器 (Chrome) 的替代接口。这允许您访问由 javascript 动态生成的 HTML 页面元素,并通过单击按钮或输入表单与实时页面交互。
也在下面,
html_elements()
只是 html_nodes()
最近添加的别名。效果是一样的。
library(rvest)
url <- "https://report-nle.dephub.go.id/dashboard/detail/27019186"
html <- read_html_live(url)
# Using the html tag pulled more than I saw on the page
tables.from.tag <- html_elements(html, css = "table")
# This pulled the 5 visible ones I saw on the page
tables.from.class <- html_elements(html, css = ".table")
# Parse the tables
html_table(tables.from.class)
packageVersion("rvest")
# [1] ‘1.0.4’