Wikibook API запрос - PullRequest
       38

Wikibook API запрос

0 голосов
/ 22 марта 2020

Я пытаюсь понять, как создать вызов API, где я могу получить данные (формат json) для рецептов, ингредиентов и процедур, как упомянуто здесь. Кто-нибудь, кто мог бы помочь мне с этим?

https://en.wikibooks.org/wiki/Cookbook: Рецепты

Этот URL имеет названия рецептов и при нажатии на каждый элемент он получает ингредиенты и процедура.

Спасибо и оставайтесь в безопасности

1 Ответ

0 голосов
/ 25 марта 2020

Чтобы получить все рецепты, я бы не использовал Поваренная книга: рецепты , а скорее Категория: Рецепты , что более полно.

Вызов API для получения списка всех рецептов, которые перечислены в Категория: рецепты является следующим: https://en.wikibooks.org/w/api.php?action=query&generator=categorymembers&gcmtitle=Category: рецепты & gcmlimit = max & format = json & gcmcontinue = . Он вернет вам 500 рецептов, но на Wikibooks их больше. Чтобы получить остальные, используйте значение continue -> gcmcontinue в ответе и добавьте его к следующему вызову API.

Чтобы получить ингредиенты и процедуру рецепта, вызовите, например, https://en.wikibooks.org/w/api.php?action=query&prop=revisions&format=json&rvprop=content&rvslots=%2A&rvsection=1&titles=Cookbook: Булочки . Вы можете использовать символ | для получения нескольких рецептов с помощью одного и того же вызова API: https://en.wikibooks.org/w/api.php?action=query&prop=revisions&format=json&rvprop=content&rvslots=%2A&titles=Cookbook: печенье | Поваренная книга: пахлава .

Если вы хотите получить только ингредиенты или только Для процедуры рецептов используйте дополнительный параметр rvsection=. Большую часть времени (но не всегда) ингредиенты находятся в первом разделе, а процедура - во втором разделе. Так что

...