【问题标题】:Scrape in Amazon search to get prices and products with R (rvest)在亚马逊搜索中使用 R (rvest) 获取价格和产品
【发布时间】:2021-04-07 13:03:28
【问题描述】:

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

例如,对于这个搜索:

Amazon Search

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

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”类的产品并获得它们的价格?

谢谢。

【问题讨论】:

  • 我不知道这会有多大帮助,但我在开发用于抓取歌词的脚本时遇到了类似的问题,在 line 104 我有一个单独的变量来存储信息的每个部分,然后在整个刮擦后使用cbind 将它们组合起来,以维持秩序。要处理缺失的价格,请使用tryCatch。这将尝试查找特定值,但如果未找到,请使用 NA More on trycatch 之类的内容填充该字段
  • @Aman 我尝试了你所说的,我可以使用 xpath 编写一个像样的代码。我不知道 xpath 是如何工作的,但我做了一项研究,使用您的提示和 xpath 实用程序,我可以解决我的问题。非常感谢人:D
  • 很高兴能为您提供帮助!干杯:)

标签: r web-scraping product amazon rvest


【解决方案1】:

您需要先抓取商品的节点,然后使用每个节点抓取商品名称和价格。类似这个问题:RVEST package seems to collect data in random order

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-10
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多