维基百科页面ID是什么?如何将其转换为实际页面URL?

92

我正在学习维基百科的API,

一些演示API调用

什么是页面ID?如何将其转换为真实的页面URL?

我的意思是<page pageid="18630637" ns="0" title="Translation" />,如何将18630637更改为http://en.wikipedia.org/wiki/Translation

3个回答

146

非常好,这个链接很简短(http://en.wikipedia.org/?curid=18630637)。谢谢。 - netfed
你知道是否有一种选项可以重定向到“标题页URL”吗? - freezed
@freezed 我不知道是否可以使用维基百科的URL来实现,但是你可以通过API获取页面ID的标题:https://en.wikipedia.org/w/api.php?action=query&pageids=18630637 - jcsahnwaldt Reinstate Monica
我想要的是像这样匹配一个 _redirect page_,例如:https://en.wikipedia.org/w/index.php?title=Whistling_hare 重定向到 https://en.wikipedia.org/wiki/Pika。对于这些页面,参数 redirect=no 存在 (https://en.wikipedia.org/w/index.php?title=Whistling_hare&redirect=no)。我希望有一个 URL,像 https://en.wikipedia.org/w/index.php?curid=186307&redirect=yes。实际上,https://en.wikipedia.org/w/index.php?curid=186307 默认重定向到 https://en.wikipedia.org/w/index.php?title=Pika&curid=186307 - freezed
只是不明白为什么在移动设备上加载http://en.wikipedia.org/?curid=18630637会出现无响应,而https://en.wikipedia.org/wiki/Translation则可以加载响应。 - Jakub
如何获取JSON/XML而不是HTML? - Abhijit Sarkar

84

1
我在下面写了一个新答案,也许留言已经足够了... 您不需要进行两个 API 调用,一个就足够了。只需将“&prop=info&inprop=url”添加到原始 URL 中:http://en.wikipedia.org/w/api.php?action=query&generator=search&gsrsearch=meaning&srprop=size%7Cwordcount%7Ctimestamp%7Csnippet&prop=info&inprop=url - jcsahnwaldt Reinstate Monica
1
有任何方法可以反过来实现吗?从给定的url获取pageid/title - Vikas Prasad
2
@VikasPrasad:你可以使用titles参数代替:https://en.wikipedia.org/w/api.php?action=query&prop=info&titles=Stack_Overflow - Matěj G.
2
@MatějG。我的问题是,给定一个 url,我们可以获取到 title 或者 pageid 吗? - Vikas Prasad
@VikasPrasad:就我所知,API 无法用于一般 URL。 - Matěj G.

13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接