topictree endpoint содержит всю эту информацию, и вы можете использовать фильтр kind
для отображения упражнений (и тем). http://www.khanacademy.org/api/v1/topictree?kind=Exercise
Вы также можете загрузить отдельные темы для навигации по всему дереву (а не только к видео и упражнениям). Например, этот URL получает прямую информацию о «сочетающей-функции» теме:
http://www.khanacademy.org/api/v1/topic/combining-functions?format=pretty
Оттуда вы можете видеть, что есть ребенок статья с ID «xd2620963». Вы можете загрузить информацию в формате JSON об этой статье, используя /api/v1/articles
конечную точку (которая, к сожалению, не документированные):
http://www.khanacademy.org/api/v1/articles/xd2620963?format=pretty
Или, со многими темами, они будут иметь ребенка тем, что вы можете перейти.
(Это format=pretty
в конце просто делает ответ JSON немного более читаемый человеком, вы должны оставить его при доступе к JSON программно.)
Есть ли документация по древовидной структуре? – MaxD
Здесь есть документация: http://api-explorer.khanacademy.org/group/api/v1/topictree. Но некоторые из них устарели, и, к сожалению, нет никакой отдельной документации. В общем случае дерево состоит из значений темы, которые содержат дочерние элементы, и эти дети могут быть либо другими темами, либо видео, и это гнездо соответствует структуре содержимого на веб-сайте. –
Tnx, я получил все дерево. Я также обнаружил, что kind = Video дает еще один большой json. Однако, например, здесь: [link] (https://www.khanacademy.org/math/algebra2/manipulating-functions/combining-functions) есть три статьи внутри, а в дереве Ex нет детей для темы = Объединение функций ... как мне получить информацию о статьях? – MaxD