【问题标题】:Scraping sub div under div class在 div 类下抓取子 div
【发布时间】:2021-02-03 11:18:38
【问题描述】:

我正在尝试抓取亚马逊,其概念是我在搜索框中搜索产品,然后从结果中使用产品的唯一 ASIN 计算产品在搜索页面中出现的排名。所以我能够抓取主 div,但我无法抓取包含搜索结果的主 div 下的子 div。

在图片中,您可以看到,主 div 类具有包含唯一 ASIN 编号的子 div。如何迭代子 div,我尝试过 response.xpath('//div[@class="s-main-slot s-result-list s-search-results sg-row"]')response.css('.s-main-slot,.s-result-list,.s-search-results,.sg-row').extract() 但似乎都有一些丢失的数据,我无法迭代它们。如何迭代子 div?我对 scrappy 还很陌生,任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: python web-scraping scrapy


    【解决方案1】:

    用我比较熟悉的css你可以这样做。

    results = response.css('div.s-search-results > div[data-asin]::attr(data-asin)').getall()
    for asin in results:
        print(result)
    

    解释

    div.s-search-results 目标外部 div。 > div[data-asin] 直接在具有“data-asin”属性的外部 div 内定位 div。 ::attr('data-asin') 读取属性“asin”。如果您想提取其他信息,可以更改最后一部分。

    【讨论】:

      猜你喜欢
      • 2021-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多