在Python中解析User-Agent字符串以便可靠地检测
的最佳方法是什么或者也许是任何帮助它的帮助库
答案 0 :(得分:67)
回答我自己的问题;)
最后我决定按照#1的建议去写你自己的。我对结果很满意。请随时使用/修改/发送补丁等。
就在这里 - > http://pypi.python.org/pypi/httpagentparser
答案 1 :(得分:10)
UASparser for Python 作者:Hicro Kee。通过版本检查从远程服务器自动更新数据文件和缓存。
答案 2 :(得分:8)
Werkzeug内置了用户代理解析。
新链接(2018年6月) http://werkzeug.pocoo.org/docs/0.14/utils/#module-werkzeug.useragents
答案 3 :(得分:6)
针对the full corpus of Firefox User Agents运行这些建议后,我发现用于比较的版本号解析非常差。
如果这就是你需要的,我建议你看看UAparser,它曾经是browserscope项目的一部分。 Documentation here.
答案 4 :(得分:6)
对这个问题的其他回应现在已经很老了。我相信浏览器用户代理解析中的新标准是Browserscope的user agent parser。
many other languages中的完全相同的匹配模式也很方便。有一天你可能还想在JavaScript中解析一些UA字符串,而不必担心解析不一致。
答案 5 :(得分:3)
Th Browser Cap Parser应该有效。虽然它可能有点慢..
答案 6 :(得分:2)
但是,如果您希望在Python端解析所有这些,您可以使用http://browsers.garykeith.com/downloads.asp提供的XML / INI文件对用户代理进行查找。这与php的get_browser()函数中使用的文件相同。
答案 7 :(得分:1)
由于这与开源解决方案无关,因此我怀疑这将成为第一个答案。无论如何,在进行User-Agent分析时,事实上的标准是WURFL(现在是商业产品)。
这里是对技术文档的引用。
https://docs.scientiamobile.com/documentation/infuze/infuze-python-module-user-guide