1 个不稳定版本

0.1.0 2024年4月6日

1672命令行工具

MIT 许可证

15KB
120 代码行

bvdl

bvdl 是一个从 Bazaarvoice 提取产品信息的工具。

用法

bvdl 需要部署 ID 或密钥,并将原始 JSON 数据按行打印。您需要通过检查网络请求来找到部署 ID 或密钥。bvdl 可以使用部署 ID 来为您找到密钥。

https://apps.bazaarvoice.com/deployments/[CLIENT_NAME]/[SITE_NAME]/production/[LOCALE]/bv.js
https://display.ugc.bazaarvoice.com/static/[CLIENT_NAME]/[SITE_NAME]/[LOCALE]/bvapi.js
    -> CLIENT_NAME/SITE_NAME/LOCALE

  OR

https://api.bazaarvoice.com/data/[...].json?passkey=[PASSKEY]
   -> PASSKEY

例如,通过检查 此页面 上的请求,我可以看到以下 URL 的网络请求

https://apps.bazaarvoice.com/deployments/lenovo-au/main_site/production/en_AU/bv.js
https://api.bazaarvoice.com/data/products.json?filter=id:eq:LEN101T0083&passkey=capxgdWJRBjQt4SmgzkMVZPiinJsxVDEIfrtpsf4CfrEw&apiversion=5.5&...

联想澳大利亚网站的部署 ID 为 lenovo-au/main_site/en_AU,有效的密钥是 capxgdWJRBjQt4SmgzkMVZPiinJsxVDEIfrtpsf4CfrEw。现在我可以使用以下命令从 Bazaarvoice 提取数据

$ bvdl lenovo-au/main_site/en_AU > lenovo-au.jsonl
Found passkey: canlmj0oyOzMW7Ig6GN80LZi42Id1Jeqxo0Go9uysOtzI
Fetching 7335 products...

$ bvdl capxgdWJRBjQt4SmgzkMVZPiinJsxVDEIfrtpsf4CfrEw > lenovo-au.jsonl
Fetching 7335 products...

请注意,Bazaarvoice 为同一部署提供了多个密钥,上述命令将产生相同的输出,尽管 bvdl 从部署 ID 中找到了不同的密钥。

当提取大量产品信息时,您可能希望使用 pv 来查看进度

$ bvdl lenovo-au/main_site/en_AU | pv -albt > lenovo-au.jsonl 
Found passkey: canlmj0oyOzMW7Ig6GN80LZi42Id1Jeqxo0Go9uysOtzI
Fetching 7335 products...
7.34k 0:00:07 [1.02k/s]

依赖项

~7–18MB
~265K SLoC