python - 如何从网站的多个不相关部分抓取数据(使用 Scrapy)
问题描述
我制作了一个可以抓取亚马逊的 Scrapy 网络爬虫。它可以通过使用关键字列表搜索项目并从结果页面中抓取数据来进行抓取。
但是,我想从亚马逊获取大部分产品数据。我没有用于查询项目的首选关键字列表。相反,我想均匀地抓取网站并收集代表亚马逊上列出的所有产品的 X 件商品。
有谁知道如何以这种方式抓取网站?谢谢。
解决方案
我将我的评论作为答案,以便其他寻找类似解决方案的人可以更轻松地找到它。
实现这一目标的一种方法是遍历每个类别(家具、衣服、技术、汽车等)并在那里收集一定数量的物品。亚马逊有带有导航链接到不同类别的侧/顶栏,所以你可以让它在那里运行。
该过程如下:
- 按照最初的 Amazon.com 解析中的类别 URL
- 为回调使用不同的解析函数,该函数将抓取该类别中的许多项目
- 确保数据正在写入文件(可能会有很多数据)
但是,这种方法在每个类别在亚马逊总产品中所占的比例上并不具有代表性。尝试为每个类别寻找“X 个结果”标签来弥补这一点。祝你的项目好运!
推荐阅读
- visual-studio - Visual Studio 中的 CMake 未正确设置 CMAKE_BINARY_DIR
- flutter - 如何在地图中的两个标记之间进行缩放
- html - Angular - View 打印旧值和新值
- python - 对于字典,将键和值都与列表中的值进行比较
- css - 如何更改子菜单项颜色
- reactjs - 反应路由器访问控制
- python - 将正则表达式规则应用于宽数据框
- applescript - 是否可以使用布尔测试说明符过滤列表?
- reactjs - 有没有办法在反应网页中显示 orientdb 交互式图形?
- symfony4 - Symfony 4 - EasyAdmin Bundle - 默认表单值