无法从Deliveroo网站上浏览菜肴描述。节点输出列表中的文本包括&引用;

无法从Deliveroo网站上浏览菜肴描述。节点输出列表中的文本包括&引用;,r,web-scraping,rstudio,rvest,R,Web Scraping,Rstudio,Rvest,我正在尝试从Deliveroo的网站上下载菜名、描述和价格信息:。我遇到的问题是,当我试图提取菜肴描述时,它只给出一个“”列表 我正在将rvest包与SelectorGadget一起使用,但我猜它没有获得正确的节点。查看网页我想要的信息似乎保存在这里: *span data reactid=“.15qcr32ig3k.3.7.0.4:$626142.2.$4718552.$menuItemContent.1.0.0.$0”class=“”>来自西西里岛的大型绿色诺切拉橄榄£3.25* 所以我认

我正在尝试从Deliveroo的网站上下载菜名、描述和价格信息:。我遇到的问题是,当我试图提取菜肴描述时,它只给出一个“”列表

我正在将rvest包与SelectorGadget一起使用,但我猜它没有获得正确的节点。查看网页我想要的信息似乎保存在这里:

*span data reactid=“.15qcr32ig3k.3.7.0.4:$626142.2.$4718552.$menuItemContent.1.0.0.$0”class=“”>来自西西里岛的大型绿色诺切拉橄榄£3.25*
所以我认为是“数据反应ID”引起了一个问题

read\u html(“https://deliveroo.co.uk/menu/aberdeen/aberdeen-city-centre/ask-italian-aberdeen") %>% 
html_节点(“.menu-index-page__-item-desc”)%>%
html_text()
此代码的输出为:

[1]“”
[40] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
[79] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""
[118] "" "" "" "" ""

任何帮助都将不胜感激。谢谢

正如米斯拉夫所建议的,你只有两种选择,splashr或RSelenium。我试着用硒来回答你的问题

library(RSelenium)

# Check your chrome version and update as needed
rd <- rsDriver(browser = c("chrome"),chromever = "76.0.3809.126", check = FALSE, verbose = FALSE)

remdr <- rd$client

remdr$navigate("https://deliveroo.co.uk/menu/aberdeen/aberdeen-city-centre/ask-italian-aberdeen")
库(RSelenium)
#检查您的chrome版本并根据需要进行更新

rd不需要硒的开销。所有信息在
脚本
标记中都是json格式。只需提取它,用jsonlite库解析,然后拉出菜单项dataframe

library(rvest)
library(magrittr)
library(jsonlite)

data <- jsonlite::fromJSON(read_html('https://deliveroo.co.uk/menu/aberdeen/aberdeen-city-centre/ask-italian-aberdeen') %>% 
                             html_node('[data-dom-id="app-element"]') %>%
                             html_text())
menu_items <- data$menu$items
View(menu_items)
库(rvest)
图书馆(magrittr)
图书馆(jsonlite)
数据%
html_节点('[data dom id=“app element”]')%>%
html_text())

菜单项我认为不能单独使用
rvest
,因为描述部分是通过JavaScript生成的。我建议使用
splashr
Rselenium
。太棒了!非常感谢!
library(rvest)
library(magrittr)
library(jsonlite)

data <- jsonlite::fromJSON(read_html('https://deliveroo.co.uk/menu/aberdeen/aberdeen-city-centre/ask-italian-aberdeen') %>% 
                             html_node('[data-dom-id="app-element"]') %>%
                             html_text())
menu_items <- data$menu$items
View(menu_items)