我有一个包含 438 个投手名字的列表,看起来像这样(在 XML 节点集中):
> pitcherlinks[[1]]
<td class="left " data-append-csv="abadfe01" data-stat="player" csk="Abad,Fernando0.01">
<a href="/players/a/abadfe01.shtml">Fernando Abad</a>*
</td>
> pitcherlinks[[2]]
<td class="left " data-append-csv="adlemti01" data-stat="player" csk="Adleman,Tim0.01">
<a href="/players/a/adlemti01.shtml">Tim Adleman</a>
</td>
我如何提取像 Fernando Abad
这样的名字和像 /players/a/abadfe01.shtml
这样的关联链接
最佳答案
由于您有一个列表,因此可以使用一个应用函数遍历该列表。每个函数都使用 read_html
解析列表中的 hmtl 片段,使用 CSS 选择器 a
查找 anchor (链接)。名称来自 html_text
并且链接在属性 href
library(rvest)
pitcherlinks <- list()
pitcherlinks[[1]] <-
'<td class="left " data-append-csv="abadfe01" data-stat="player" csk="Abad,Fernando0.01">
<a href="/players/a/abadfe01.shtml">Fernando Abad</a>*
</td>'
pitcherlinks[[2]] <-
'<td class="left " data-append-csv="adlemti01" data-stat="player" csk="Adleman,Tim0.01">
<a href="/players/a/adlemti01.shtml">Tim Adleman</a>
</td>'
names <- sapply(pitcherlinks, function(x) {x %>% read_html() %>% html_nodes("a") %>% html_text()})
links <- sapply(pitcherlinks, function(x) {x %>% read_html() %>% html_nodes("a") %>% html_attr("href")})
names
# [1] "Fernando Abad" "Tim Adleman"
links
# [1] "/players/a/abadfe01.shtml" "/players/a/adlemti01.shtml"
关于html - R - 如何从 XML 节点集中提取项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43598427/