无法从Deliveroo网站上浏览菜肴描述。节点输出列表中的文本包括&引用;
我正在尝试从Deliveroo的网站上下载菜名、描述和价格信息:。我遇到的问题是,当我试图提取菜肴描述时,它只给出一个“”列表 我正在将rvest包与SelectorGadget一起使用,但我猜它没有获得正确的节点。查看网页我想要的信息似乎保存在这里:无法从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* 所以我认
*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)