首页 > 解决方案 > 如何从网站的多个不相关部分抓取数据(使用 Scrapy)

问题描述

我制作了一个可以抓取亚马逊的 Scrapy 网络爬虫。它可以通过使用关键字列表搜索项目并从结果页面中抓取数据来进行抓取。

但是,我想从亚马逊获取大部分产品数据。我没有用于查询项目的首选关键字列表。相反,我想均匀地抓取网站并收集代表亚马逊上列出的所有产品的 X 件商品。

有谁知道如何以这种方式抓取网站?谢谢。

标签: pythonweb-scrapingscrapy

解决方案


我将我的评论作为答案,以便其他寻找类似解决方案的人可以更轻松地找到它。

实现这一目标的一种方法是遍历每个类别(家具、衣服、技术、汽车等)并在那里收集一定数量的物品。亚马逊有带有导航链接到不同类别的侧/顶栏,所以你可以让它在那里运行。

该过程如下:

  1. 按照最初的 Amazon.com 解析中的类别 URL
  2. 为回调使用不同的解析函数,该函数将抓取该类别中的许多项目
  3. 确保数据正在写入文件(可能会有很多数据)

但是,这种方法在每个类别在亚马逊总产品中所占的比例上并不具有代表性。尝试为每个类别寻找“X 个结果”标签来弥补这一点。祝你的项目好运!


推荐阅读