使用 read html() 读取网页时不包含 HTML 节点

HTML node is not contained when I read the webpage using read html()

我对使用 R 进行抓取比较陌生并且有使用 R 的经验,但几乎没有使用 html 的经验。

所以当我试图获取以下网页菜单的评分时:https://migusto.migros.ch/de/rezepte/tomaten-kokos-dal 我注意到,xml2::read_html("https://migusto.migros.ch/de/rezepte/tomaten-kokos-dal") 并没有像我在网络浏览器上使用开发人员工具调查网页时那样给我准确的输出。 作为我想抓取的节点:

不包含在: read_html("https://migusto.migros.ch/de/rezepte/tomaten-kokos-dal") 我也可以使用任何可能的节点而没有得到正确的输出-> (Bewertung 4.8).

我完全糊涂了。有谁知道为什么 read_html 不提供完整的 html 内容?

此致,非常感谢您的帮助!

+++++++++++

如果需要,这里有一个更详细的方法: 当我 运行 R 中的 read_html() 时,我得到以下输出(当我转到第一个 h1 节点时): 这等于我在浏览器的开发者工具中看到的:

但是当我打开 div 再打开一次 div 时,我在 R 中看到的和在浏览器中看到的是不同的:

网站使用 Javascript 呈现。 html 源代码向浏览器发送一个 Javascript 源文件,浏览器从中构建 html。像 Chrome 这样的浏览器可以呈现站点,但是 R 和 xml2 包没有这样的浏览器功能。

用于呈现站点的 Javascript 文件似乎位于脚本底部附近:

[3093] <!-- MAIN APP -->
[3094] <script src="/.resources/migusto/2.1.1-master-92-f8895ec/webresources/js/main.js"></script>

有一些方法可以抓取 Javascript 呈现的网站,通常使用 headless browser. Here's a resource that uses PhantomJs (one such headless browser) and R to scrape Javascript: How to Scrape Data from a Javascript Website