【发布时间】:2021-09-05 17:30:48
【问题描述】:
我是 Selenium 的新手,正在努力从 JSON 中提取数据。我尝试了多种工具,但都没有成功,巧合的是,我似乎可以通过 API 访问数据,但它被分成了成千上万的页面。
我想自动进行以下操作:
- 提取“title”或“slug”、“reviews”、“star_rating”、“listing_price”、“pretty_price”
- 提取“next_is_after”并将其与“https://api.takealot.com/rest/v-1-10-0/searches/products,filters,facets,sort_options,breadcrumbs,slots_audience,context,seo? "加载它并从头开始提取。从上面的总结来看,这可能会发生 10 万次。
我非常感谢任何指向正确方向的指针。我已经无法提取数据。因此,如果您可以通过以下内容为我指明正确的方向,那已经很有帮助了。
import requests
res = requests.get('https://api.takealot.com/rest/v-1-10-0/searches/products,filters,facets,sort_options,breadcrumbs,slots_audience,context,seo?').json()
for data in res:
print(data["next_is_after"])
【问题讨论】:
-
如果您添加了指向 API 文档的链接,那就太好了。这是一个非常复杂的 JSON 响应。您需要了解 JSON 文件的结构。我建议分别对“section_keys”中的每个类别提出几个请求。这将使您能够处理更小、更简单的 JSON 结构化响应。
-
谢谢丹尼尔。不幸的是,我不知道这个 API 的公共文档,我只是在 Chrome 中查看 Network>XHR 时偶然发现它,所以我什至认为公众不应该像我想要的那样使用它。我会多玩一些,希望我能解决一些问题。
标签: python python-3.x selenium