在django中解析HTTP_USER_AGENT字符串。

时间:2014-03-13 10:01:54

标签: django http user-agent

来自parse

django request?用户代理字符串的最佳方法是什么
request.META.get('HTTP_USER_AGENT', '')

这是我在字符串中得到的内容。

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36

不确定如何解析此信息。

是否有任何成本(时间,+内存)有效的解决方案。 我只需解析所有的字符串。

1 个答案:

答案 0 :(得分:23)

你可以尝试这个库:

https://pypi.python.org/pypi/user-agents/

示例

from user_agents import parse

# iPhone's user agent string
ua_string = 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3'
user_agent = parse(ua_string)

# Accessing user agent's browser attributes
user_agent.browser  # returns Browser(family=u'Mobile Safari', version=(5, 1), version_string='5.1')
user_agent.browser.family  # returns 'Mobile Safari'
user_agent.browser.version  # returns (5, 1)
user_agent.browser.version_string   # returns '5.1'

# Accessing user agent's operating system properties
user_agent.os  # returns OperatingSystem(family=u'iOS', version=(5, 1), version_string='5.1')
user_agent.os.family  # returns 'iOS'
user_agent.os.version  # returns (5, 1)
user_agent.os.version_string  # returns '5.1'

# Accessing user agent's device properties
user_agent.device  # returns Device(family='iPhone')
user_agent.device.family  # returns 'iPhone'