解析HTTP用户代理字符串

She*_*har 49 python user-agent http http-headers

解析Python中的User-Agent字符串以便可靠地检测的最佳方法是什么

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

或者也许是任何帮助库

She*_*har 67

回答我自己的问题;)

最后我决定按照建议#1来编写你自己的建议.我对结果很满意.请随时使用/修改/发送补丁等.

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

  • @Jason Sundram如果您通过提供代理字符串和预期结果来帮助,可以支持其他人.检查https://github.com/shon/httpagentparser/issues (4认同)
  • 好的!我刚刚为我的应用程序编写了一个 django 中间件,如果他的浏览器是 Internet Explorer < 10,它会向用户打印一条消息,并针对大量用户代理字符串对其进行了测试......完美运行!谢谢你 :) (2认同)

小智 10

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


Jos*_*son 8

Werkzeug内置了用户代理解析.

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


Jam*_*ead 6

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

如果这是你需要什么,我建议你看一看UAparser,这曾经是一部分browserscope项目.文档在这里.

  • 我认为这个回购中有一个更新的版本:https://github.com/tobie/ua-parser (6认同)

Chr*_* W. 6

对这个问题的其他回应现在已经很老了.我相信浏览器用户代理解析中的新标准是Browserscope的用户代理解析器.

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