Rvest 无法识别 css 选择器 [英] Rvest not recognizing css selector

查看:51
本文介绍了Rvest 无法识别 css 选择器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试抓取此网站:

I'm trying to scrape this website:

http://www.racingpost.com/greyhounds/result_home.sd#resultDay=2015-12-26&meetingId=18&isFullMeeting=true

通过 R 中的 rvest 包.

through the rvest package in R.

不幸的是,rvest 似乎无法通过 CSS 选择器识别节点.

Unfortunately it seems that rvest doesn't recognize the nodes through the CSS selector.

例如,如果我尝试提取 CSS 选择器为.black"的每个表格(等级、奖项、距离)的标题中的信息,然后运行以下代码:

For example if I try to extract the information in the header of every table (Grade, Prize, Distance), whose CSS selector is ".black" and I run this code:

URL <- read_html("http://www.racingpost.com/greyhounds/result_home.sd#resultDay=2015-12-26&meetingId=18&isFullMeeting=true")
nodes<-html_nodes(URL, ".black") 

nodes 是一个空列表,所以它不会抓取任何东西.

nodes comes out to be a null list, so it's not scraping anything.

推荐答案

它正在发出 XHR 请求以生成 HTML.试试这个(这也应该可以更容易地自动化数据捕获):

It's making an XHR request to generate the HTML. Try this (which should also make it easier to automate the data capture):

library(httr)
library(xml2)
library(rvest)

res <- GET("http://www.racingpost.com/greyhounds/result_by_meeting_full.sd",
           query=list(r_date="2015-12-26",
                      meeting_id=18))

doc <- read_html(content(res, as="text"))

html_nodes(doc, ".black")
## {xml_nodeset (56)}
##  [1] <span class="black">A9</span>
##  [2] <span class="black">£61</span>
##  [3] <span class="black">470m</span>
##  [4] <span class="black">-30</span>
##  [5] <span class="black">H2</span>
##  [6] <span class="black">£105</span>
##  [7] <span class="black">470m</span>
##  [8] <span class="black">-30</span>
##  [9] <span class="black">A7</span>
## [10] <span class="black">£61</span>
## [11] <span class="black">470m</span>
## [12] <span class="black">-30</span>
## [13] <span class="black">A5</span>
## [14] <span class="black">£66</span>
## [15] <span class="black">470m</span>
## [16] <span class="black">-30</span>
## [17] <span class="black">A8</span>
## [18] <span class="black">£61</span>
## [19] <span class="black">470m</span>
## [20] <span class="black">-20</span>
## ...

这篇关于Rvest 无法识别 css 选择器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆