首页 > 解决方案 > 为什么我无法使用 rvest 提取此表?

问题描述

我试图从这个网站上提取按地区和股东分列的销售信息。

我尝试使用 rvest,但结果提取的表是空的。除了使用 RSelenium 之外,还有其他方法吗?

library(dplyr)
library(tidyverse)
library(rvest)

url <- "https://www.marketscreener.com/ZURICH-INSURANCE-GROUP-2955923/company/"
wahis.session <- html_session(url)                                
r1 <-    wahis.session %>%
  html_nodes(xpath = '//*[@id="zbCenter"]/div/span/table[4]/tbody/tr[2]/td[1]/table[3]/tbody/tr[2]/td/table') %>%
  html_table(fill = TRUE) 

r2 <-    wahis.session %>%
  html_nodes(xpath = '//*[@id="XLT27Z-S-CH"]') %>%
  html_table(fill = TRUE) 

标签: rrvest

解决方案


如果您不想使用xpath,您可以列出所有表格,html_nodes("table")然后选择您需要的表格。但是,如果页面中有很多所需的表,则可能有点难以找到所需的表,这里就是这种情况:

library(rvest)
library(dplyr)

url <- "https://www.marketscreener.com/ZURICH-INSURANCE-GROUP-2955923/"

tables <- read_html(url) %>%
  html_nodes("table") 

# Ex: 'Quotes 5-day view' table
tables[26] %>%
  html_table(fill = T)

推荐阅读