Rvest选择选项,我认为最简单的解释一个可重复的例子
网站:http://www.verema.com/vinos/portada 我想获得各种类型的葡萄酒(Tipos de vinos),在html代码中是:
<select class="campo select" id="producto_tipo_producto_id" name="producto[tipo_producto_id]">
<option value="">Todos</option>
<option value="211">Tinto</option>
<option value="213">Blanco</option>
<option value="215">Rosado</option>
<option value="216">Espumoso</option>
<option value="217">Dulces y Generosos</option></select>
XPath : //*[@id="producto_tipo_producto_id"] or
CSS : #producto_tipo_producto_id or
Class: campo select
我想将data.frame作为
211 Tinto
213 Blanco
215 Rosado
216 Espumoso
217 Dulces y Generosos
我的代码(R):
library(rvest)
Pagina.R <- html(x = "http://www.verema.com/vinos/portada")
text <- Pagina.R %>%
html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>%
html_text()
text
values <- Pagina.R %>%
html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>%
html_attr("option value") #problem????
values
Res <- data.frame(text = text, values = values, stringsAsFactors = FALSE)
Res # problem
建议?
谢谢。
修订后的功能代码:
library(rvest)
Pagina.R <- html(x = "http://www.verema.com/vinos/portada")
text <- Pagina.R %>%
# html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>%
html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>%
html_text()
text
values <- Pagina.R %>%
# html_nodes(xpath='//*[@id="producto_tipo_producto_id"]')%>%
html_nodes(xpath='//*[@id="producto_tipo_producto_id"]/option')%>%
# html_attr("option value")
html_attr("value")
values
Res <- data.frame(text = text, values = values, stringsAsFactors = FALSE)
Res