【问题标题】:Determining Exact URL from a link inside wiki text从 wiki 文本中的链接确定确切的 URL
【发布时间】:2012-06-22 19:23:06
【问题描述】:

在维基百科的文章文本中,可能会提到如下链接:[Category:A B C],但确切的 wiki url 将具有像 Category:A_B_C 这样的后缀 我可以从哪里获得有关 wiki 用于从其文本中的链接获取 url 的所有这些规则的信息?(例如,将空格转换为下划线、首字母大写、处理非 ascii 字符等)

【问题讨论】:

    标签: url wikipedia url-encoding mining


    【解决方案1】:

    大致如下:

    • 规范化命名空间,例如category: --> Category:.
    • 标题的首字母大写,例如Category:foo --> Category:Foo。注意:这取决于 wiki 设置,例如,维基词典中的标题从不大写。
    • 用下划线替换空格,例如Foo bar --> Foo_bar.
    • 使用 PHP 的标准函数 urlencode() 对所有常用字符进行百分比编码,但以下字符除外:;:@$!*(),/

    有关完整的技术细节,您可以查看 this(函数 getLocalUrl())和 this(函数 wfUrlencode())。

    【讨论】:

      【解决方案2】:

      没有“等”,你已经提到了所有的规则:

      1. 空格转换为下划线
      2. 文章标题首字母大写(命名空间首字母大写,如果有的话)
      3. 整个链接是percent-encoded

      请注意,规则 #1 和 #2 不是强制性的:如果您创建自己的 URL 而不遵循它们,维基百科仍会正确显示页面。

      如果您包含命名空间别名 (WP:WikiProject ComputingWikipedia:WikiProject_Computing) 和跨维基链接 (wikia:gameofthrones:Westeroshttp://www.wikia.com/wiki/c:gameofthrones:Westeros),事情会变得更加复杂。

      【讨论】:

        猜你喜欢
        • 2016-07-12
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 2018-04-05
        • 1970-01-01
        • 1970-01-01
        • 2011-03-31
        • 1970-01-01
        相关资源
        最近更新 更多