我有一个edX客户ID和密码ID,并且能够获得所有edX在线课程的列表,但是我希望能够使用查询字符串搜索所有edX课程像"robotics"
。 (与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。
答案 0 :(得分:0)
我不这样认为。
query 是来自以下端点的响应值:GET /catalog/v1/catalogs/{id}/。检索有关特定目录的信息的端点。它不是用户传递的参数。用户参数是商品目录ID。
您可以使用以下端点:/ catalog / v1 / catalogs / {id} / courses /
如评论中所述,该端点的答案涵盖分页here。然后,您可以根据查询条件用python过滤返回的数据集。来自该端点的响应值中的结果数组具有诸如简短描述/详细描述/标题之类的字段,可能有助于定位。