使用 rvest 抓取嵌入式 table

webscraping an embedded table with rvest

我正在学习如何使用 rvest 和 R 进行网络抓取,我想提取嵌入在以下网站中的 table:

https://perfectunion.us/map-where-are-starbucks-workers-unionizing/

如果你在中途滚动,你会看到嵌入的 table 星巴克商店及其工会状态。

当我使用 CSS 选择器工具并突出显示 table 正文时,我得到了代码 "td".

然而,当我使用下面的 rvest 代码时,我得到:

{xml_nodeset (0)}

我还使用了检查功能来查看 table 名称(如下),但我得到了同样的错误。

"table#wpgmza_table_1.responsive.wpgmza_table.dataTable.no-footer.dtr-inline.collapsed"

谁能帮我把 table 提取到 R 中?我正在尝试做一个科学实践项目

pacman::p_load(tidyverse,rvest)

url <- "https://perfectunion.us/map-where-are-starbucks-workers-unionizing/"

sb <- rvest::read_html(url)

#method1:
sb %>% 
  rvest::html_elements("td")

#method2
sb %>% 
rvest::html_elements("table#wpgmza_table_1.responsive.wpgmza_table.dataTable.no-footer.dtr-inline.collapsed")


我感谢任何帮助最终从网站中提取 table 并将其作为 table.

引入 R 的帮助

看起来 table 存储为 JSON 文件。如果您使用浏览器开发人员工具中的“网络”选项卡,则可以检索 link.

url<-"https://perfectunion.us/wp-json/wpgmza/v1/datatables/base64eJy10zFrwzAQBeD-8mYV6rZJQFvo0CWBDIFC4lKu1sUWlRVzkkPA+L9HcVLo1qVa795907sBXdO9OgoBGu+bt-VuWZZrkm+WlQ3R+rosl+ZEvmKzpS-HUAiRJEI-Kjj2dWygHwqFlrpPa5JSpEh1dH3rk7kfYCjSlPbUctpfBSapmonTUXpWOIph+T24RaAHnMj19zvhms-QB3KBx1H92EVG+ymj-ZzRfslozzLa84z24v -tj-vZ1PRb66euG5tGoFDhGvkbUjhYF1nSw21IqE2vM4zjBWiiMh0

jsonlite::fromJSON(url)

我不确定 stable 这个 link 怎么样,它可能会定期更改。