检测网站语言(用于抓取)

时间:2014-09-07 19:51:58

标签: php html encoding internationalization multilingual

我正在使用抓取工具,而我似乎无法正确检测网站的文字语言。

大多数时候我只需要检测网站上的文字是俄文,中文还是日文。

有没有任何已知的解决方案?在html标签中指定语言的网站百分比非常低。

1 个答案:

答案 0 :(得分:0)

我不知道你在做什么语言,但如果是我,我会先这样做:

确定字符集/编码。这已经告诉你网站的语言:

  • 如果是EUCJP或SJIS:日语
  • 如果是Big5或GB:中文
  • 如果是KOI8-R:俄语

您可以添加更多字符集进行测试。

但是,如果是UTF / Unicode,请执行以下操作:

  • 有三个Unicode字符组计数器:
    • 西里尔文0x0400 - 0x052f
    • CJK for Chinese / Japanese 0x4e00 - 0x9fff
    • Kana for Japanese 0x3040 - 0x30ff
  • 获取页面
  • 使用一些XML解析器从divptd等处获取内容。常见内容标记。
  • 对于每个角色,确定它属于哪个组并增加其计数器

现在你有3个柜台。如果第一个柜台很高,很可能是俄罗斯人。如果第二个计数器很高,有很多第三个计数器,那就是日语。如果第二个计数器很高,没有第三个计数器,则它是中文(或者可能是韩文,但是你可以添加一个韩文桶)。

检查this page,根据需要为您的算法添加块。