如何在不模拟单击的情况下使用Python提取这些信息?

2024-06-10 11:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python抓取Ali Express产品,例如this one。它有多种变体,每种变体都有自己的价格。单击其中一个按钮时,价格将更新以反映此选择

以类似的方式,有多个按钮可选择项目的发货地点,从而相应地更新发货成本

我想把每个国家寄来的每种变体的价格都刮下来。我怎样才能在不模拟点击改变价格的情况下做到这一点呢?支配这些价格变化的基本逻辑在哪里?我在检查元素时找不到它。它容易破译吗

还是我只需要放弃并模拟点击?如果是这样的话,硒是否也能做到这一点?我宁愿不点击就提取它的原因是,例如,对于我链接到的产品,有49个变体和5个地方是产品的发货地,所以点击次数很多,这是一种相当不雅观的方法

非常感谢


Tags: 项目产品方式情况价格变体国家ali
2条回答

在浏览器中查看,所有数据都在dom中

在控制台中键入window.runParams.data.skuModule.skuPriceList,您将看到

我知道电子商务公司在其后端API中应用了这种逻辑。以及保护API免受普通用户的攻击。他们使用concur来解析从前端接收到的IP

现在来回答你的问题。可能有两种情况

  1. 前端从后端接收数据并应用其自己的逻辑。所以我可以告诉你,前端已经收到了所有与变体及其价格相关的数据。因此,他们将其存储在某个数据结构中。它们仅在您单击项目时更新视图上的值。(如果单击后没有延迟且结果立即显示,您可以发现是否存在这种情况)。虽然您可以检查从后端获取的响应,但它必须具有前端接收和存储的所有数据。您可以签入chrome调试工具->;网络->;要筛选的gql

  2. 第二种情况,每次单击时它都从后端获取数据。在这种情况下,它正在更改链接上的某些参数。如果您能找到类似变体的参数更改背后的某种逻辑,那么您可以获取信息。(单击后显示结果会有延迟)

我认为使用硒或柏树是个好主意。我知道这需要时间。但这是你最好的选择

相关问题 更多 >