维基百科API:如何将内容文本解析为JSON?

时间:2018-05-01 19:26:56

标签: json wikipedia-api

修改

不知道该怎么办,因为我意识到我最初问的问题与我真正想要的问题无关,因为我认为图片文件的维基百科API查询中的descriptionurlshortdescriptionurl会返回描述图片的文字,但实际上他们只是网址的描述,所以我对此感到愚蠢。

我试图删除这个问题,但它不会让我,因为已经有了答案。

所以我要把问题改成我真正想知道的问题,但现在已经存在的答案没有任何意义,所以这有点乱,但我不知道怎么办呢。

我真正想知道的是

当我这样做时:

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}}"
                }
            ]
        }
    ]
}

}

我想要做的是让查询只返回内容的这些部分:

  • Rot-Weiss Essen的球迷正在庆祝在2007/08 Regionalliga Nord对阵FC马格德堡的比赛中1胜0负。 (说明)
  • 2008年5月24日(日期)
  • Poldvr(作者)

我可以通过在C#中删除字符串来获取内容字符串中的所有内容,但是有没有办法让它在第一时间向我吐出格式化为漂亮的小JSON?

我无法通过The Wikipedia API page on the parse actionWikipedia API Sandbox.

来解决这个问题。

可以吗?

这是旧问题,这是错误的问题

标题是: 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。"

当我在浏览器中输入这些网址时,它只会将我带到图片的整个页面。

如何使用这些网址获取实际描述和简短描述的文本

哦,在你输入维基百科API的链接之前,我一直试图在那里找到这些信息并且失败了。它充满了一般信息,但我找不到这个特定的东西。

1 个答案:

答案 0 :(得分:2)

当我将您的网址放入浏览器时,我会按预期获得一些不错的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。