在Python中解析用户代理字符串以可靠检测的最佳方法是什么

  1. 浏览器
  2. 浏览器版本
  3. 操作系统

或者也许任何可以做到这一点的辅助库

有帮助吗?

解决方案

回答我自己的问题;)

最后我决定采用建议#1,即写你自己的。我对结果很满意。请随意使用/修改/向我发送补丁等。

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

其他提示

用于 Python 的 UASparser作者:希克罗·基。通过版本检查从远程服务器自动更新数据文件和缓存。

Werkzeug 内置了用户代理解析。

新链接(2018 年 6 月)http://werkzeug.pocoo.org/docs/0.14/utils/#module-werkzeug.useragents

运行这些建议后 Firefox 用户代理的完整语料库, ,我发现用于比较的版本号解析非常差。

如果您需要的话,我建议您看一下 UA解析器, ,它曾经是 浏览器范围 项目。 文档在这里。

这个问题的其他答案现在已经相当老了。我相信浏览器用户代理解析的新标准是 Browserscope 的 用户代理解析器.

还可以方便地使用 完全相同的匹配模式许多其他语言. 。有一天,您可能还想在 JavaScript 中解析一些 UA 字符串,并且无需担心解析不一致。

浏览器上限解析器 应该管用。虽然可能有点慢..

但是,如果您希望在 Python 端解析所有这些内容,您可以使用以下位置提供的 XML/INI 文件: http://browsers.garykeith.com/downloads.asp 在用户代理上进行查找。这与 php 的 get_browser() 函数中使用的文件相同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top