【问题标题】:Http user agent parser in pythonpython中的Http用户代理解析器
【发布时间】:2013-03-27 17:12:09
【问题描述】:

我想在 python 中解析用户代理字符串并将浏览器分类为以下类别
1) 浏览器名称
2) 浏览器版本
3) 操作系统/平台名称
4) 操作系统/平台版本
5) 设备类型:手机/台式机/平板电脑/其他
如果是手机/平板电脑,那么
6) 制造商/供应商名称
7) 型号

那么,我可以使用什么外部库来完成这项任务,我想在没有任何互联网连接的情况下离线完成所有这些工作。所以我有一个数据库,我只需要对其进行分类。

【问题讨论】:

  • @root :我已经看到了,但我也想知道诺基亚、三星、黑莓等手机/平板电脑供应商,甚至是那些 user_agent 字符串中的型号
  • 它基于ua-parser,如果不符合您的需求,您可以尝试改进它。不确定你是否会找到开箱即用的东西,但祝你好运。
  • 首先它的正则表达式很复杂,如何包含所有供应商并制作它们的正则表达式。其次,我想简单地包含库并使其工作,以便我可以不时从内部更新库并使其工作

标签: python regex parsing http-headers user-agent


【解决方案1】:
# Import the lib
from ua_parser import user_agent_parser

# Parse the user agent
user_agent_parser.Parse(request.META.get('HTTP_USER_AGENT'))

print result_dict['user_agent']
# {'major': '5', 'minor': '1', 'family': 'Mobile Safari', 'patch': None}

print result_dict['os']
# {'major': '5', 'patch_minor': None, 'minor': '1', 'family': 'iOS', 'patch': None}

print result_dict['device']
# {'is_spider': False, 'is_mobile': True, 'family': 'iPhone'}

上面的代码示例都很容易被使用它们的人识别;使用用户代理信息很简单,API 也很简单。 Tobie 为这个漂亮的图书馆干得好。

http://davidwalsh.name/user-agent-parser

【讨论】:

  • thanx,它会在某种程度上对我有用,但我也希望该型号不像它的 iPhone,那么无论是 iPhone 4 还是 iPhone 5,对于其他制造商及其型号也是如此。
【解决方案2】:

这不是关于问题的开源解决方案,而是一个解决方案。

你们知道the WURFL Module for Python吗?

【讨论】:

    猜你喜欢
    • 2012-10-24
    • 2010-10-29
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    相关资源
    最近更新 更多