【问题标题】:Is there a way to search for an edx course using their API?有没有办法使用他们的 API 搜索 edx 课程?
【发布时间】:2019-05-25 23:53:10
【问题描述】:

我有一个edX 客户 ID 和秘密 ID,我可以获取所有 edX 在线课程的列表,但我希望能够使用类似 @ 的查询字符串搜索所有 edX 课程987654325@。 (与question不同,我已经了解如何获取课程列表,所以这不是重复的问题...)我试过了

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 课程列表。不幸的是,这不起作用,而是照常返回 edX 数据库中的前 20 门在线课程。

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

【问题讨论】:

  • @dexter 我已经了解如何获取 edX 课程列表,就像我在问题中已经说过的那样......我需要能够找到与查询字符串匹配的课程列表

标签: python python-requests edx


【解决方案1】:

我不这么认为。

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

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

如 cmets 中所述,该端点有一个涵盖分页 here 的答案。然后,您可以根据查询词使用 python 过滤返回的数据集。来自该端点的响应值中的结果数组具有诸如短描述/长描述/标题之类的字段,这些字段可能对目标有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多