РЕДАКТИРОВАТЬ
Не уверен, что делать, потому что я понял, что вопрос, который я изначально задал, не имеет отношения к тому, что я действительно хотел, потому что я думал, что descriptionurl
и shortdescriptionurl
из запроса API Википедии файла изображения вернут текст, описывающий изображение, но на самом деле они просто описание URL-адреса, так что я чувствую себя немым.
Я попытался удалить вопрос, но мне не удалось, потому что уже есть ответ.
Итак, я собираюсь изменить вопрос на то, что я действительно хочу знать, но теперь ответ, который уже существует, не будет иметь никакого смысла, так что это своего рода беспорядок, но я не знаю, что с этим делать.
Что я действительно хотел знать
Когда я это сделаю:
https://en.wikipedia.org/w/api.php?action=query&pageids=18306940&prop=revisions&formatversion=2&rvprop=content
Я получаю это:
{
"batchcomplete": true,
"query": {
"pages": [
{
"pageid": 18306940,
"ns": 6,
"title": "File:Rot-Weiss Essen Fans, May 2008.jpg",
"revisions": [
{
"contentformat": "text/x-wiki",
"contentmodel": "wikitext",
"content": "== Summary ==\n{{Information\n|Description=Fans of Rot-Weiss Essen are celebrating a 1-0 away victory against 1. FC Magdeburg in the 2007/08 Regionalliga Nord.\n|Source=I created this work entirely by myself.\n|Date=May 24, 2008\n|Author=[[User:Povldr|Povldr]] ([[User talk:Povldr|talk]])\n|other_versions=\n}}\n== Licensing: ==\n{{self|cc-by-sa-3.0|GFDL}}\n\n{{Copy to Wikimedia Commons|bot=Fbot|priority=true}}"
}
]
}
]
}
}
Я бы хотел, чтобы запрос возвращал только эти части контента:
Я мог бы просто вытащить все это из строки содержимого, разрезав строку на C#, но есть ли какой-нибудь способ вернуть мне ее обратно, отформатированную как симпатичный маленький JSON?
Я не смог понять это ни из Страница API Википедии о действии parse
, ни из Песочница API Википедии.
Это можно сделать?
Вот старый вопрос, который задавал не то
название было: Wikipedia API: как использовать descriptionurl и shortdescriptionurl?
Когда я это сделаю, например:
https://en.wikipedia.org/w/api.php?action=query&list=allimages&aiprop=url&date&format=json&ailimit=1&aifrom=rot
... одна из частей информации JSON называется "descriptionurl", а другая - "shortdescriptionurl".
Когда я ввожу эти URL-адреса в браузер, я просто попадаю на всю страницу изображения.
Как использовать эти URL-адреса, чтобы получить только текст фактического описания и краткого описания?
О, и прежде чем вы просто наберете ссылку на API Википедии, я пытался найти там эту информацию, но безуспешно. Там полно общей информации, но я не могу найти эту конкретную вещь.
Когда я помещаю ваш URL-адрес в браузер, я получаю хороший JSON, как и ожидалось:
{
"warnings": {
"main": {
"*": "Unrecognized parameter: date."
}
},
"batchcomplete": "",
"continue": {
"aicontinue": "Rot-Weiss_Essen_logo.svg",
"continue": "-||"
},
"query": {
"allimages": [{
"name": "Rot-Weiss_Essen_Fans,_May_2008.jpg",
"url": "https://upload.wikimedia.org/wikipedia/en/5/5c/Rot-Weiss_Essen_Fans%2C_May_2008.jpg",
"descriptionurl": "https://en.wikipedia.org/wiki/File:Rot-Weiss_Essen_Fans,_May_2008.jpg",
"descriptionshorturl": "https://en.wikipedia.org/w/index.php?curid=18306940",
"ns": 6,
"title": "File:Rot-Weiss Essen Fans, May 2008.jpg"
}]
}
}
Чтобы извлечь отдельную запись, вам необходимо проанализировать JSON на выбранном вами языке программирования.
Я не знаю ответа на новую версию вопроса, извините!
МэндиШоу, спасибо за ответ, я понял, что мой вопрос был на самом деле совершенно неверным, и переделал весь вопрос, чтобы понять, что я действительно пытаюсь сделать.