parsingHTTP用户代理string

在Python中parsingUser-Agentstring以便可靠检测的最佳方法是什么?

  1. 浏览器
  2. 浏览器版本
  3. OS

或者可能是任何帮助程序库

回答我自己的问题;)

最后,我决定去build议#1即写自己的。 我对结果感到高兴。 请随意使用/修改/发送我补丁等

在这里 – > http://pypi.python.org/pypi/httpagentparser

Hicro Kee的Python的UASparser。 通过版本检查从远程服务器自动更新数据文件和caching。

Werkzeug具有内置的用户代理parsingfunction。

http://werkzeug.pocoo.org/docs/0.10/utils/#module-werkzeug.useragents

在针对Firefox用户代理的完整语料库运行这些build议后,我发现用于比较的版本号parsing相当糟糕。

如果这是你所需要的,我build议你看一下UAparser ,它曾经是浏览器项目的一部分。 文档在这里。

对这个问题的其他回答现在已经很老了。 我相信浏览器用户代理parsing中的新标准是浏览器的用户代理parsing器 。

  • UAparsing器pypi包
  • UA在github上的parsing器

在许多其他语言中也可以方便地使用完全相同的匹配模式 。 有一天你可能也想在JavaScript中parsing一些UAstring,你不需要担心不一致的parsing。

浏览器Cap分析器应该工作。 虽然可能有点慢

但是,如果您想在Python端parsing所有这些,可以使用http://browsers.garykeith.com/downloads.asp上提供的XML / INI文件在用户代理上进行查找。 这是在php的get_browser()函数中使用的文件。