从Wiki文本中的链接确定精确URL

时间:2012-06-22 19:23:06

标签: url wikipedia url-encoding mining

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

2 个答案:

答案 0 :(得分:2)

大致如下:

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

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

答案 1 :(得分:0)

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

  1. 空格转换为下划线
  2. 文章标题的第一个字母大写(命名空间的第一个字母也大写,如果有的话)
  3. 整个链接为percent-encoded
  4. 请注意,规则#1和#2不是必需的:如果您创建自己不遵循规则的网址,维基百科仍会正确显示该网页。

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