亚马逊产品刮板 – 使用硒,美丽的套件建造它

创建亚马逊产品刮板,使用Selenium,Beautifulsoup,Easy2Digital API在Google表上保存所取的数据的方法

搜索结果中的亚马逊产品信息对您了解2件事具有很大的价值。它们是产品和该产品的客户评论的销售业绩。然后,它可以扩展到更广泛的应用程序,例如价格跟踪器和P&L市场价值。

在本章中,我将与您分享如何创建Amazon产品刮板并保存在Google表上的数据。到本章结尾,您可以学习如何安装GSPREAD模块,以及在HTML中找到数据元素的位置。

目录:使用硒,美丽的套件和Easy2Digital API的亚马逊产品刮板
进口硒,美丽的小组模块
创建产品搜索刮板的原型
搜索结果的多页刮擦
将提取的数据集保存到Google表
亚马逊产品刮板完整的Python脚本
亚马逊产品刮板 – 进口硒,美丽的套件和GSPREAD模块

它不允许您在Py​​thon脚本中使用BeautifulSoup访问该网站。这将是“对不起,有问题”的结果。取而代之的是,您可以按照使用硒来平稳获取产品数据。导入这两个模块与以前为其他机器人进行的脚本相同

另外,此脚本不仅用于将产品信息获取和保存在工作表中。它还旨在在计划中自动刷新数据,并跟踪竞争对手的营销信息和产品定价。对于价格跟踪器,我将发行另一篇文章。因此,我建议使用Google Sheet API并在Google表上管理数据。在这里,我建议使用GSPREAD,因为它使事情变得更加简单。

为了创建Google Sheet API并设置服务帐户,您可以参考其他文章。我之前发表了一篇文章。有关更多详细信息,请查看本文。

我想说的是Easy2Digital Google Sheets API与Google API连接并管理获取的数据更容易。首先,您需要申请免费的Easy2Digital API令牌

然后,您复制从新的Google API服务帐户下载的JSON密钥的名称,并将其粘贴到与Easy2Digital API GooglejsonParameter连接的脚本中。

有关更多详细信息,请参阅API文档

亚马逊产品刮板 – 创建产品搜索刮板的原型

您可以使用搜索查询搜索任何产品的信息。基本上,下面是亚马逊产品刮板的原型,无论您要搜索什么产品。或您正在查看的亚马逊市场的任何地方。

1.亚马逊搜索查询网址结构

您可能会发现控制SERP的URL中有两个参数。一个是k,然后是关键字。另一个是页面编号的页面跟进。

https://www.amazon.com/s?k=rign+camera&page=2

因此,您可以在以后的使用情况下创建两个变量。一个代表您要搜索的关键字。一种是用于动态循环和获取更多页面

查询=“环+相机”
pag =“&pag =”

2.在SERP中找到产品信息块

您可以右键单击任何产品标题并使用检查功能。您可以看到哪些元素可以找到整个产品信息块。该块包括您目标获取的所有核心产品信息。例如,它们是ASIN,定价,标题,URL,评论计数等。它类似于我之前分享的网络刮擦。

如您所见,所有信息都位于DIV中,标签名为Data Component类型。因此,您可以起草这样的代码。这是为了刮第一页

driver.get(“ https://www.amazon.com/s?k=query
汤= beautifutsoup(driver.page_source,’html.parser’)
结果= soup.find_all(’div’,{‘data-component-type’:’s-search-result’})

3.选择数据类型并专门刮擦

ASIN是您必须获取的关键元素,因为价格跟踪器需要此元素才能与当前的P&L计算器连接。我会在另一篇文章中谈论这一点。

如您所见,ASIN值位于此标签数据中。因此,您可以创建一个变量并使用attrs获取每个产品的ASIN号码

asins = item.Attrs [‘data-asin’]

然后,产品标题是HTML中的H2。因此,Python代码可以是这样。但是,要删除任何删除任何前导(开头的空格)和尾随(末端的空格)字符,您可以在文本之后使用strip()

尝试:
title = item.h2.a.text.strip()
除例外为E:
没有提出

定价是价格跟踪器中的另一个关键要素,因为它是动态的,并且可能会根据竞争对手的晋升而改变。因此,在亚马逊产品刮板中,此编码可以帮助您获取定价。但是,要稍后过滤和计算市场价值,我建议您删除货币信号。这是为了确保数据以Google表中的数字格式处于数字格式。

尝试:
PRICE_PARENT = item.find(’span’,’a-price’)
price = price_parent.find(’span’,’a-off屏幕’)。text.replace(’$’,”)
除例外为E:
Price_parent =’0′
价格=’0′

亚马逊产品刮板 – 搜索结果的刮擦多页

Amazon SERP的第一页具有AVG.22产品。您了解产品的市场绩效和机会可能不足。在这种情况下,您需要刮擦多个页面。幸运的是,它并不复杂,它类似于我之前分享的网页刮擦。

首先,您需要在更高的层面上创建一个比特定数据获取循环的循环。您可以创建一个变量X。

然后,在该范围内,您可以设置页面数。但是请记住,最后一页应该是y -1。例如,最后一页是3,所以这意味着最后一页是2。

对于X范围(1,3):
驱动程序。
汤= beautifutsoup(driver.page_source,’html.parser’)
结果= soup.find_all(’div’,{‘data-component-type’:’s-search-result’})

对于结果中的项目:

asins = item.Attrs [‘data-asin’]

最后但并非最不重要的一点是,众所周知,我们需要更新URL请求,这就是这样。

驱动程序。

将获取的数据保存到Google表

现在已经准备好了,现在该在Google表中喂食并保存。您需要使用“邮政”方法,并将被提取的数据和特定的表格选项卡(分别为两个变量)分别为easy2Digital API参数

Amazon产品刮板的完整Python脚本

如果您想拥有亚马逊产品刮板的Python脚本的完整版本,请通过添加消息“第16章”来订阅我们的新闻通讯。我们会立即将脚本发送到您的邮箱。

Contact us

希望您喜欢阅读第16章 – 使用硒,美丽的套件和Easy2Digital API的亚马逊产品刮板。如果这样做,请通过执行下面列出的一件事情来支持我们,因为它总是有助于我们的频道。

支持并通过PayPal(PayPal.me/Easy2Digital)向我们的渠道捐款
订阅我的频道,并打开通知铃easy2Digital YouTube频道。
关注和喜欢我的页面Easy2Digital Facebook页面
与主题标签#Easy2Digital分享您的社交网络文章
购买具有easy2digital 10%折扣代码的产品(Easy2DigitalNewBuyers2021)
您注册我们的每周新闻通讯,以收到Easy2Digital的最新文章,视频和折扣代码
订阅我们通过Patreon每月会员资格以享受独家福利(www.patreon.com/louisludigital)

希望您喜欢阅读。如果您这样做,请通过执行下面列出的一件事情来支持我们,因为它总是有助于我们的频道。