Search code examples
apimediawikiwikipedia-apimediawiki-api

How to obtain data in a table from Wikipedia API?


I'm trying to get all the content from Wikipedia:Unusual_articles and I'm able to get the list of table content by calling this endpoint:

https://en.wikipedia.org/w/api.php?action=parse&format=json&prop=sections&page=Wikipedia:Unusual_articles

and the data I got back look something like this:

{
    title: "Wikipedia:Unusual articles",
    pageid: 154126,
    sections: [
        {
            toclevel: 1,
            level: "2",
            line: "Places and infrastructure",
            number: "1",
            index: "T-1",
            fromtitle: "Wikipedia:Unusual_articles/Places_and_infrastructure",
            byteoffset: null,
            anchor: "Places_and_infrastructure"
        },
        {
            toclevel: 2,
            level: "3",
            line: "Americas",
            number: "1.1",
            index: "T-2",
            fromtitle: "Wikipedia:Unusual_articles/Places_and_infrastructure",
            byteoffset: null,
            anchor: "Americas"
        },
...

But I'm not able to get the content of a particular section. For example under Americas is a list of the table with a link and a short description, but is there a way to obtain the link and short description from the API?

table


Solution

  • You can get the content of every page section by using MediaWiki API with action=parse in two steps. First you have to get all sections from the page with:

    https://en.wikipedia.org/w/api.php?action=parse&prop=sections&page=Wikipedia:Unusual_articles
    

    From the response you see that section Americas has index=T-2 (T means transcluded page) and it comes from fromtitle=Wikipedia:Unusual_articles/Places_and_infrastructure. Now we use these index and fromtitle to get the content of the section with:

    https://en.wikipedia.org/w/api.php?action=parse&page=Wikipedia:Unusual_articles/Places_and_infrastructure&section=2&prop=...
    

    where:

    • prop=wikitext - gives the original section wikitext that was parsed.
    • prop=text - gives the parsed section text of the wikitext.