gpt4 book ai didi

mediawiki - 维基百科 Mediawiki API 从 URL 获取 Pageid

转载 作者:行者123 更新时间:2023-12-02 19:21:23 24 4
gpt4 key购买 nike

我有一组完整的网址,例如

http://en.wikipedia.org/wiki/Episkopi_Bay
http://en.wikipedia.org/wiki/Monte_Lauro
http://en.wikipedia.org/wiki/Lampedusa
http://en.wikipedia.org/wiki/Himera
http://en.wikipedia.org/wiki/Lago_Cecita
http://en.wikipedia.org/wiki/Aspromonte

我想查找这些网址的wikipedia pageid。我以前使用过 Mediawiki API,但我不知道如何做到这一点。

我尝试通过获取lastindexof("/") 的子字符串和最后一个字符,然后查询API 来获取pageid,从而从URL 中提取页面标题。

http://en.wikipedia.org/wiki/Episkopi_Bay --> Episkopi_Bay
http://en.wikipedia.org/wiki/Monte_Lauro --> Monte_Lauro
http://en.wikipedia.org/wiki/Lampedusa -- > Lampedusa
http://en.wikipedia.org/wiki/Himera --> Himera
http://en.wikipedia.org/wiki/Lago_Cecita --> Lago_Cecita
http://en.wikipedia.org/wiki/Aspromonte --> Aspromonte

但问题是我的一些链接可能会重定向,因此子字符串可能并不总是页面的标题。

TL;DR:如何从 URL 中找到维基百科页面的 pageid?

最佳答案

我不确定您所说的“页面 ID”是否是页面的标识号(例如,英语维基百科主页的 15580374 - 可在左栏工具箱的“页面信息”中找到)还是规范化标题已解决重定向的页面。下面的答案将回答这两个问题。

您可以使用 API action=query,例如https://en.wikipedia.org/w/api.php?action=query&titles=Main%20Page您将在其中找到最少的信息,其页面 ID(数字)。

您还可能想要管理更复杂的情况:标题规范化和/或重定向。标题规范化(首字母大写、下划线更改为空格、各种 unicode 规范化 iirc 等)是开箱即用的。对于重定向,您必须通过在 URL 中添加“&redirects”来明确询问(请注意,双重重定向(=重定向的重定向)不起作用,但不应该存在)。示例:https://en.wikipedia.org/w/api.php?action=query&titles=main_page&redirects

如果您需要更多信息,可以查看https://en.wikipedia.org/w/api.php?action=help&modules=query%2Binfo .

关于mediawiki - 维基百科 Mediawiki API 从 URL 获取 Pageid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com