如何通过MediaWiki API从Wikipedia页面获取人口?

时间:2018-09-18 11:06:21

标签: json wikipedia wikipedia-api mediawiki-api

我想从MediaWiki API获取特定国家或城市的人口。试过这个:

https://en.wikipedia.org/w/api.php?action=query&prop=population&titles=France

这给了我以下错误:

            Unrecognized value for parameter \"prop\": population.

有人对此有解决方案吗?任何帮助将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:2)

此错误意味着API请求中没有“人口”选项,因此不会将其归为国家/地区,因为它未被识别为选项。

但是,您可以简单地使用SPARQL wikidata来做到这一点。您可以使用此查询来获取任何国家的人口。

# if you have this df named a , then you could try this code.
import numpy as np
import pandas as pd
a = pd.DataFrame(columns=["b","c","d","e"])
a.loc["title0",:] = [1,0,0,"string"]
a.loc["title1",:] = [0,1,1,"string"]
a.index.name = "a"
col_names = ['b','c','d']
for idx in a.index:
    current_line = a.loc[idx,:]
    process_part = current_line[col_names]
    if sum(process_part)>1:
        a = a.drop(idx)
        for col,v in zip(col_names,process_part):
            if v == 1:
                keep_one = np.zeros(3)
                keep_one[col_names.index(col)] = 1
                a = a.append(pd.DataFrame.from_dict({idx:dict(zip(a.columns,list(keep_one)+[current_line[-1]]))},orient="index"))

实时观看here

从下拉列表中根据需要更改国家/地区。

答案 1 :(得分:1)

有关prop的允许值,请参见the docs。听起来您想要的是SPARQL query