用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抓取时没有数据的主要内容,如果未能解决你的问题,请参考以下文章