python - 有没有办法使用他们的 API 搜索 edx 类(class)?

标签 python python-requests edx

我有一个edX客户端 ID 和 secret ID,我能够获取所有 edX 在线类(class)的列表,但我希望能够使用像 "robotics" 这样的查询字符串搜索所有 edX 类(class)。 (与此 question 不同,我已经了解如何获取类(class)列表,所以这不是重复的问题...)我尝试过

import requests

# I also tried with search_query instead of search
edx_course_search_response = requests.get('https://api.edx.org/catalog/v1/catalogs/'+edx_course_catalog_id+'/courses/'+"?search=robotics", headers=headers)

我知道目录 ID 和标题信息是正确的,因为我可以获得 edX 类(class)列表。不幸的是,这不起作用,而是像往常一样返回 edX 数据库中的前 20 个在线类(class)。

如果我不能,我想我会使用 whoosh .

最佳答案

我不这么认为。

查询是来自此端点的响应值:GET /catalog/v1/catalogs/{id}/ 。用于检索有关特定目录的信息的端点。它不是用户传递的参数。用户参数是目录ID。

您可以使用此端点:/catalog/v1/catalogs/{id}/courses/

正如评论中提到的,该端点有一个涵盖分页的答案 here 。然后,您可以根据查询术语使用 python 过滤返回的数据集。来自该端点的响应值中的结果数组包含诸如简短描述/长描述/标题之类的字段,这些字段可能对定位有用。

关于python - 有没有办法使用他们的 API 搜索 edx 类(class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56309608/

相关文章:

Python - 等待远程系统启动的最佳方式

linux-kernel - 安装 opensx 时出现此错误

python - 系统找不到 `edx-dl`模块中指定的文件

python - 从 *文件夹名称* 导入 *变量* Python 3.4.2

python - 使用 Paramiko 从远程服务器执行命令到另一个远程服务器

python - 如何使用python请求在同一个连接中发送多个post请求

python-requests - 使用python请求上传二进制文件

python - 在 pandas 数据帧上应用 np.isin() 时出现意外行为

python - 如果 x 条目满足条件 python,则绘制 x-y 数据

Python 在函数中使用 input() 来确定数据类型