我试图从Wikipedia:Unusual_articles获取所有内容,并且我可以通过调用此终结点来获取表内容列表:
https://en.wikipedia.org/w/api.php?action=parse&format=json&prop=sections&page=Wikipedia:Unusual_articles
我收到的数据看起来像这样:
{
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"
},
...
但我无法获取特定部分的内容。例如,在Americas
下是带有链接和简短描述的表的列表,但有没有办法从API获取链接和简短描述?
答案 0 :(得分:7)
您可以通过两个步骤使用MediaWiki API和action=parse来获取每个网页部分的内容。首先,您必须从页面中获取所有部分:
https://en.wikipedia.org/w/api.php?action=parse&prop=sections&page=Wikipedia:Unusual_articles
根据回复,您看到Americas
部分索引= T-2
( T 表示已转换页面),它来自 fromtitle = 强> Wikipedia:Unusual_articles/Places_and_infrastructure
。现在我们使用这些索引和 fromtitle 来获取该部分的内容:
https://en.wikipedia.org/w/api.php?action=parse&page=Wikipedia:Unusual_articles/Places_and_infrastructure§ion=2&prop=...
其中:
prop=wikitext
- 提供已解析的原始部分wikitext。prop=text
- 提供wikitext的解析部分文本。