【问题标题】:Get all products from specific amazon store using scrapy使用scrapy从特定的亚马逊商店获取所有产品
【发布时间】:2017-02-17 21:42:36
【问题描述】:

有没有办法在亚马逊上获取特定卖家的所有商品? 当我尝试使用不同形式的 url 向商店提交请求时(基本是(“https://www.amazon.com/shops/”),我得到 301,没有其他信息。

甚至在蜘蛛本身之前,来自scrapy shell(来自亚马逊的一些随机商店)

scrapy shell "https://www.amazon.com/shops/A3TJVJMBQL014A"

有301响应码:

 request    <GET https://www.amazon.com/shops/A3TJVJMBQL014A>
 response   <301 https://www.amazon.com/shops/A3TJVJMBQL014A>

在浏览器中它会被重定向到https://www.amazon.com/s?marketplaceID=ATVPDKIKX0DER&me=A3TJVJMBQL014A&merchant=A3TJVJMBQL014A&redirect=true

使用生成的 URL 也会导致 301 响应。

【问题讨论】:

  • 您想获得一个特定卖家销售的所有商品的清单,或者您想获得亚马逊上所有卖家的清单?
  • 我想要一个特定卖家的所有商品。
  • 你的代码在哪里?
  • shell 不解析位置头并跟随它。当您在蜘蛛中运行代码时,它会
  • @PadraicCunningham 非常感谢!成功了!

标签: web-scraping scrapy amazon


【解决方案1】:

我使用的是scrapy shell,而@PadraicCunningham 回答它不支持位置标头。 从蜘蛛运行代码解决了这个问题。

【讨论】:

    【解决方案2】:

    由于您想要一个特定卖家销售的所有商品的清单,您可以专门分析该卖家的页面。

    这里我以 Kindle 电子书阅读器卖家为例。

    1. 在浏览器中打开控制台,选择卖家页面的最大页数元素,可以看到该卖家的最大页数在标签&lt;span class="pagnLink"&gt; &lt;/span&gt;内,所以你可以找到这个标签和从中提取最大页数。

    2. 当您移动到该卖家商品列表的下一页(从page=1到page=2)时,您可以看到url有轻微的变化,因此您可以在需要时轻松构建新的url移到下一页。

    3. 设置一个循环,其限制是您在第一步中获得的最大页数。

    4. 分析您想在该页面上获取的特定数据,分析它们内部的 html 标签,并使用一些文本分析库来帮助您提取数据。 (重新,BeautifulSoup .etc)

    简而言之,您必须在编写代码之前分析页面。 当你开始编码时,你应该首先发出请求,然后从你的请求中获取响应,然后从响应中提取有用的数据(根据你在编写代码之前分析的规则)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-15
      • 1970-01-01
      • 2013-02-10
      • 2022-12-03
      • 1970-01-01
      • 2012-07-20
      相关资源
      最近更新 更多