如何使用Python和Selenium模拟商品购买获取库存信息

问题描述 投票:0回答:1

我正在开发一项网络抓取服务,主要针对时尚行业。我的目标是提供有关产品的全面数据,包括库存水平。为了实现这一目标,我需要模拟购买以确定每种尺寸的产品的最大可用数量。

我一直在使用 Python 和 Selenium 进行网络抓取部分,但在准确模拟购买过程以检索股票信息方面面临着挑战。以下是我尝试实施的步骤:

  1. 导航到产品页面:使用 Selenium 加载产品页面。
  2. 选择尺寸:从可用选项中选择特定尺寸。
  3. 添加到购物车:尝试将所选尺寸的最大可用数量添加到购物车。
  4. 检查库存情况:如果没有最大数量,请减少数量,直到确定最大可用数量。
  5. 对每个尺寸重复:对产品的所有尺寸重复该过程。

问题:

  1. 这是通过模拟购买来检索股票信息最有效的方法吗?
  2. 此流程有任何最佳实践或改进吗?
  3. 如何处理网站显示库存错误或消息的不同方式?
  4. 这种方法是否存在潜在问题,例如被网站屏蔽?

我正在寻找建议、替代方法或任何可以帮助完善此方法的经验见解。

谢谢!

python selenium-webdriver web-scraping automation inventory-management
1个回答
0
投票
  1. 除非网站所有者提供一个公共 API,允许您直接从服务器检索信息,否则恐怕您会陷入抓取困境。
  2. 我知道的最佳实践是尽可能避免使用 XPATH 查找元素,因为修改站点布局时它很容易中断。
  3. 不幸的是,虽然这些网站的结构在视觉上看起来很相似,但据我所知,对于此类网站的 HTML 结构并没有标准。所以你必须根据具体情况来处理网站。
  4. 通常服务器会有 API 速率限制,这是在被(暂时/永久)禁止之前允许您向服务器发送请求的频率。因此,如果您与网站的交互需要发送大量请求(例如单击提交按钮、单击不同的产品以显示详细信息页面等),您将面临被服务器阻止的风险。避免这种情况的一种策略是在(请求发送)交互之间添加延迟,以避免达到 API 速率限制。 (但即使这也不是 100% 万无一失,因为如果服务器真的想阻止你抓取,他们可以实施许多强大的反抓取机制)
© www.soinside.com 2019 - 2024. All rights reserved.