用rvest抓取时没有数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用rvest抓取时没有数据相关的知识,希望对你有一定的参考价值。

我试图刮一个网站,但它没有给我任何数据。

#Get the Data
require(tidyverse)
require(rvest)

#specify the url
url <- 'https://www.travsport.se/sresultat?kommando=tevlingsdagVisa&tevdagId=570243&loppId=0&valdManad&valdLoppnr&source=S'

#get data
url %>%
  read_html() %>% 
  html_nodes(".green div:nth-child(1)") %>% 
  html_text()
character(0)

我也试过使用xpath = '//*[contains(concat( " ", @class, " " ), concat( " ", "green", " " ))]//div[(((count(preceding-sibling::*) + 1) = 1) and parent::*)]//a',但是这给了我0个数据相同的结果。

我期待马的名字。即使页面上的数据是由javascript呈现的,我也不应该得到一些javascript代码吗?

我不知道我应该在这里使用什么CSS选择器。

答案

您只需使用RSelenium软件包来抓取动态页面:

library(RSelenium)
#specify the url
url <- 'https://www.travsport.se/sresultat?kommando=tevlingsdagVisa&tevdagId=570243&loppId=0&valdManad&valdLoppnr&source=S'

#Create the remote driver / navigator
rsd <- rsDriver(browser = "chrome")
remDr <- rsd$client

#Go to your url
remDr$navigate(url)
page <- read_html(remDr$getPageSource()[[1]])

#get your horses data by parsing Selenium page with Rvest as you know to do
page %>% html_nodes(".green div:nth-child(1)") %>% html_text()

希望这会有所帮助

Gottavianoni

以上是关于用rvest抓取时没有数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 rvest 抓取类似名称的表

rvest - 在 1 个标签中抓取 2 个类

Rvest 和 Google 新闻网页抓取:不起作用

使用RVest从网站抓取表格

使用 rvest 在 Twitter 中抓取用户视频

R - 如何使用 rvest 或 rcurl 点击网页