gpt4 book ai didi

html - 在嵌套表上使用 rvest 时遇到问题

转载 作者:行者123 更新时间:2023-11-28 00:46:46 24 4
gpt4 key购买 nike

我在尝试从 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com