我试图在任何亚马逊搜索刮获得产品和他们的价格,所以我正在与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抵消',并得到他们的价格?
谢谢。
1条答案
按热度按时间rt4zxlrg1#
你需要先抓取商品的节点,然后在每个节点上抓取商品名称和价格。类似于这个问题:RVEST包似乎以随机顺序收集数据