html - 在嵌套表上使用 rvest 时出现问题

标签 html css r web-scraping rvest

我在尝试从 Freeride World Tour 网站获取排名时遇到问题。

我首先尝试在 Chrome 中使用 selectorGadget 获取 rvest 的 CSS 代码,但只能获取骑手及其总体得分。我感兴趣的是获得骑手在每场预赛中获得的分数。我对网络抓取和 CSS/HTML 很陌生,所以请跟我一起坚持下去。

# Get the website url
url <- read_html("https://www.freerideworldtour.com/rankings-detailed?season=165&competition=2&discipline=38")

从页面下载所有内容,

(all_text <- url %>% 
                html_nodes("div") %>% 
                html_text())

然后寻找 Kristofer Turdell 的第一个 2500 分得分。 grep("2500 pts.", all_text) 但我发现...什么也没有?

当我右键单击 2500 点时。在网站上并选择“Inspect”我可以看到这部分的html代码是:

<div class="field__item even">2500 pts.</div>

所以我尝试使用div类:

url %>%
     html_nodes(".field__item.even:) %>%
     html_text()

这仅返回参与者的总分(例如 Kristofer Turdell 7870 分)。

接下来,我尝试使用右键单击选项从“Inspect”中保存 Xpath。

url %>%
      html_nodes(xpath = "//*[@id="page-content"]/div/div/div[2]/div/div/div/div[1]/div[2]/div/div/div[1]/div/div[4]/div/div/div") %>%
      html_text()

我在这方面运气不佳,因此非常感谢您的帮助。

最佳答案

url %>%
   html_node("div.panel-second")%>%
   html_text() %>%
   gsub("\\s*\\n+\\s*",";",.)%>%
   gsub("pts.","\n",.)%>%
   read.table(text=.,fill=T,sep=";",row.names = NULL)%>%
   subset(select=3:4)%>%na.omit()
                     V3   V4
1     Kristofer Turdell 7870
2           Markus Eder 7320
3       Mickael Bimboes 6930
4   Loic Collomb-Patton 6660
5           Yann Rausis 6290
6    Berkeley Patterson 5860
7           Leo Slemett 5835
8         Ivan Malakhov 5800
9          Craig Murray 5705
10         Logan Pehota 5655
11       Reine Barkered 5470
12        Grifen Moller 4765
13              Sam Lee 4580
14            Ryan Faye 3210
15         Conor Pelton 3185
16        George Rodney 3115
17     Taisuke Kusunoki 3060
18          Trace Cooke 2905
19        Aymar Navarro 2855
20        Felix Wiemers 2655
21         Fabio Studer 2305
22         Stefan Hausl 2240
23           Drew Tabke 1880
24 Carl Regnér Eriksson 1310

关于html - 在嵌套表上使用 rvest 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49973214/

相关文章:

html - 字体在 Mac 上不显示

删除 SpatialPointsDataFrame 中的第三个维度

r - 通过范围内的成员资格将一个数据框连接到另一个数据框

r - 如何反转单词?

javascript - 如何编辑 HTML 主题的移动版本?

javascript - Jquery 追加 div 到新的 div

html - 如何使 <div> 从底部滚动

html - 我应该使用什么?十六进制代码、RGB 代码或代码中的颜色名称?

html - 格式化文本和元素符号点

javascript - 多级单选按钮