首页 > 解决方案 > 在亚马逊搜索中使用 R (rvest) 获取价格和产品

问题描述

我试图在任何亚马逊搜索中搜索产品及其价格,所以我正在使用 R 中的 rvest 库来做到这一点。

例如,对于此搜索:

亚马逊搜索

我想提取所有产品名称及其价格。我尝试了以下操作:

library(rvest)
link='https://www.amazon.com.mx/s?k=gtx+1650+super&__mk_es_MX=%C3%85M%C3%85%C5%BD%C3%95%C3%91&ref=nb_sb_noss_2'
simple=read_html(link)
simple %>% html_nodes("[class='a-size-base-plus a-color-base a-text-normal']") %>% html_text()

使用 Chrome,类“ a-size-base-plus a-color-base a-text-normal ”是存储产品名称的位置。

该代码工作正常,我得到了所有产品名称。所以,我试图用这个来获得他们的价格:

simple %>% html_nodes("[class='a-offscreen']") %>% html_text()

使用 Chrome,“ a-offscreen ”类是存储价格的地方。

该代码将搜索中的每个价格都返回给我,但如果您已经看到搜索,则并非所有产品都有价格。因此,该代码向我返回了带有价格的产品,而我无法将产品与其价格相匹配。

有没有办法让它成为可能?也许可以只过滤那些具有“a-offset”类的产品并获得它们的价格?

谢谢。

标签: rweb-scrapingproductamazonrvest

解决方案


您需要先抓取商品的节点,然后使用每个节点抓取产品名称和价格。与此问题类似:RVEST 包似乎以随机顺序收集数据


推荐阅读