📅  最后修改于: 2023-12-03 15:21:09.437000             🧑  作者: Mango
Wikipedia是一个基于用户贡献的百科全书,它的API可以让开发者使用它的数据和内容来创建新的应用程序。Wikipedia API可以让开发者获取到各种不同的信息,包括文章、图片、分类、履历等。
首先,你需要获得Wikipedia API的访问权限。请前往https://www.mediawiki.org/wiki/API:Main_page获取更多内容。
在获得访问权限之后,你可以通过访问如下URL来获取Wikipedia数据:
https://{language}.wikipedia.org/w/api.php?action={action}&format={format}&prop={properties}&titles={titles}&redirects={redirects}&formatversion={formatversion}
其中{language}
为语言代码,例如en
表示英语;{action}
为API的操作,例如query
表示查询操作;{format}
表示API的返回格式,例如json
和xml
;{properties}
表示要获取的属性,例如extracts
表示文章文本;{titles}
表示要获取文章的标题;{redirects}
表示是否自动跟随重定向;{formatversion}
表示返回的格式版本号。
例如,以下URL可以获得Wikipedia英语版中关于“python”这个主题的文章摘要信息:
https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&titles=Python_(programming_language)&redirects=true&formatversion=2
Wikipedia API返回的数据格式取决于请求中的{format}
参数。如果使用json
格式,那么它的返回值将是一个JSON对象,例如:
{
"batchcomplete": "",
"query": {
"pages": [
{
"ns": 0,
"title": "Python (programming language)",
"extract": "<p><b>Python</b> is an interpreted high-level programming language for general-purpose programming. Created by Guido van Ro..."
}
]
}
}
Wikipedia API的详细接口文档可以在https://www.mediawiki.org/wiki/API:Main_page上找到,其中包含了所有API的详细介绍和使用示例。
在使用Wikipedia API时,需要注意以下事项:
以下是使用Python和Requests库访问Wikipedia API的示例代码:
import requests
URL = 'https://{language}.wikipedia.org/w/api.php?action={action}&format={format}&prop={properties}&titles={titles}&redirects={redirects}&formatversion={formatversion}'
def get_wikipedia_page(language, title):
"""
获取Wikipedia页面信息
"""
url = URL.format(
language=language,
action='query',
format='json',
properties='extracts',
titles=title,
redirects=True,
formatversion=2
)
response = requests.get(url)
if response.status_code == 200:
return response.json()['query']['pages'][0]['extract']
return None
if __name__ == '__main__':
content = get_wikipedia_page('en', 'Python_(programming_language)')
print(content)
在上述示例代码中,我们定义了一个get_wikipedia_page
函数来访问Wikipedia API获取某个页面的信息。这个函数会返回Wikipedia页面的文本内容。