我的目标是使用rvest
提取网站中与特定css元素相关联的网址。在查看其他几个类似的问题之后,我想我需要将html_attr
函数与'href'
参数一起使用。使用我目前的脚本,这只会返回NA
值,但我希望它会返回网址。
输入以构建变量
library(rvest)
my_url <- "http://www.sherdog.com/events/UFC-Fight-Night-111-Holm-vs-Correia-58241"
my_read_url <- read_html(my_url)
my_nodes <- html_nodes(my_read_url, ".fighter_result_data a span , .right_side a span , .left_side a span")
输入以查看my_nodes
是否来自运动员的姓名。
html_text(my_nodes)
显示my_nodes
的输出正在选择我想要的css元素。
[1] "Holly Holm" "Bethe Correia" "Marcin Tybura"
[4] "Andrei Arlovski" "Colby Covington" "Dong Hyun Kim"
[7] "Rafael dos Anjos" "Tarec Saffiedine" "Jon Tuck"
[10] "Takanori Gomi" "Walt Harris" "Cyril Asker"
[13] "Alex Caceres" "Rolando Dy" "Yuta Sasaki"
[16] "Justin Scoggins" "Jingliang Li" "Frank Camacho"
[19] "Russell Doane" "Kwan Ho Kwak" "Naoki Inoue"
[22] "Carls John de Tomas" "Lucie Pudilova" "Ji Yeon Kim"
输入以尝试获取每个运动员的网址&#39;独特的页面。
html_attr(my_nodes, "href")
输出显示我的尝试仅返回NA
值列表
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
任何人都可以帮我实际获取网址而不是这些NA
值吗?谢谢!
答案 0 :(得分:5)
您正在选择span
元素,而不是a
命令中的html_nodes
元素。 span
元素没有href=
属性,只有a
个元素。而是使用
my_nodes <- html_nodes(my_read_url, ".fighter_result_data a, .right_side a, .left_side a")
html_text(my_nodes)
html_attr(my_nodes, "href")