Beautifulsoup4在抓取HTML等项目方面的弱点是什么?



我有一个带有漂亮汤的小项目来抓取url中的一些项目:https://www.bukalapak.com/flash-deal。

我想做的是刮项目:

  • 已售商品
  • 价格
  • 剩余项目

我已经有一些基本的 Bs4 逻辑。 但我无法刮掉那 3 件事。 检查 HTML 树后,找不到项目列表。 当我检查该站点上的元素时,我确实找到了数据,但无法通过 BS4 检索它。

问题是,我假设 Bs4 无法抓取不在 HTML 树中的项目是真的吗?

该站点填充了来自 API 调用的内容。我不确定他们多久更改一次密钥,但似乎您可以进行另一个 API 调用来获取有效的身份验证密钥:

import requests
token = requests.get("https://seller.bukalapak.com/api/authenticate").json()['token']

使用它来调用他们商店的API,即

resp = requests.get("https://api.bukalapak.com/_exclusive/flash-deals/campaigns/2653/products?access_token=" + token).json()

他们使用不同的广告系列 ID,例如 2653、2662、2635、...我不知道他们是如何创建它们的,如果它们发生了变化(尝试在上面的调用中替换2653- 它们以某种方式对应于不同的开始时间(。也许您有足够的领域知识来创建它们。您可以在检查网络调用时(例如在浏览器中(找到它们。

最新更新