gpt4 book ai didi

redirect - 如何在不知道所有字符的确切大小写的情况下使 Wikipedia API 规范化和重定向?

转载 作者:行者123 更新时间:2023-12-04 18:42:53 25 4
gpt4 key购买 nike

如果我尝试通过他们的 API 获取维基百科页面的语言链接,如下所示:

http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&format=json&lllimit=10&llurl=&titles=wreck-it%20Ralph&redirects=

我得到一个结果列表。

但是,如果我像这样将 Ralph 中的 R 小写:

http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&format=json&lllimit=10&llurl=&titles=wreck-it%20ralph&redirects=

我没有结果。

查看返回的信息,看起来维基百科将第一个示例中的“wreck-it Ralph”规范化为“Wreck-it Ralph”,然后重定向到“Wreck-It Ralph”。

在第二个示例中,“wreck-it ralph”被规范化为“Wreck-it ralph”,显然它不会重定向到任何地方。

http://wikipedia.org 上搜索“wreck-it ralph”作品,当然:

http://www.wikipedia.org/search-redirect.php?family=wikipedia&search=wreck-it+ralph&language=en

我可以让 langlinks 查询以同样的方式工作,在我不知道搜索词的所有字符的确切大小写时帮助我吗?

更新
来自 Sorawee 的回答我设法找出如何进行不区分大小写的搜索:https://en.wikipedia.org/w/api.php?action=query&generator=search&format=json&gsrsearch=wreck-it%20ralph&gsrlimit=1&prop=info

最佳答案

在 MediaWiki 中,所有标题都将自动大写。因此,“wreck-it Ralph”和“Wreck-it Ralph”是同一个页面。同样,“wreck-it ralph”和“Wreck-it ralph”是同一个页面。请注意,大写仅适用于第一个字母。
MediaWiki 也有称为“重定向页面”的页面。重定向页面可以将您从该页面重定向到另一个完全不同的页面。例如,https://en.wikipedia.org/wiki/Template:cn会将您重定向到 https://en.wikipedia.org/wiki/Template:Citation_needed .这些页面是由用户创建的,而不是由软件创建的。
你问的情况如下图。

"wreck-it Ralph" =normalized=> "Wreck-it Ralph" =redirected=> "Wreck-It Ralph" (found)

"wreck-it ralph" =normalized=> "Wreck-it ralph" (not exist)


所以现在你知道你不能查询页面“wreck-it ralph”,因为它不存在。
但是,如果您想从“wreck-it Ralph”进行查询,您可能会也可能不会获得“Wreck-It Ralph”的语言链接。这取决于参数“&redirects=”。如果你没有这个参数,它不会返回任何语言链接,因为“wreck-it Ralph”本身没有语言链接。使用“&redirects=”,api 将在重定向页面上搜索 langlinks(如果存在)。因此,它将返回您想要的 langlinks。你可以比较:
  • http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&format=json&lllimit=10&llurl=&titles=wreck-it%20Ralph&redirects=
  • http://en.wikipedia.org/w/api.php?action=query&prop=langlinks&format=json&lllimit=10&llurl=&titles=wreck-it%20Ralph

  • 对于问题为什么 http://www.wikipedia.org/search-redirect.php?family=wikipedia&search=wreck-it+ralph&language=en工作,答案是 search-redirect.php 不是 api。它搜索并返回最近的匹配项,而 api
    我们正在讨论的只返回确切的结果。

    关于redirect - 如何在不知道所有字符的确切大小写的情况下使 Wikipedia API 规范化和重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21211037/

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