如何获取选择菜单的值?

时间:2019-05-17 12:05:32

标签: html r web-scraping rvest

我正在尝试获取this webpage上选择菜单的值(所有区域)。我怎么了几乎尝试了所有组合,但结果为零。其中之一是:

  page <- read_html("https://www.yemeksepeti.com/en/istanbul")
  regions <- page %>% 
    html_nodes("div") %>% 
    html_nodes("span") %>% 
    html_nodes(xpath = '//*[@id="select2-ys-areaSelector-container"]') %>% 
    html_attr("title")

谢谢。

2 个答案:

答案 0 :(得分:1)

XPath有点丑陋。获取select元素的ID,然后获取所有选项组,最后获取其文本数据。使用html_text将其转换为R character

page <- read_html("https://www.yemeksepeti.com/en/istanbul")
regions <- page %>% 
  html_nodes(xpath='//*[@id="ys-areaSelector"]/optgroup/*/text()') %>%
  html_text()

答案 1 :(得分:0)

我会使用css选择器组合,假设所有选项值都需要

library(rvest)
page <- read_html("https://www.yemeksepeti.com/en/istanbul")
options <- page %>% 
  html_nodes('#ys-areaSelector [data-url]') %>%
  html_text()