2013-04-05 38 views
0

用户代理解析器我想解析在Python用户代理字符串和浏览器在以下类别为
1)浏览器名称
2)浏览器版本
3)OS /平台名称分类
4)OS /平台版本
5)设备类型:或者移动/桌面/平板/其他
如果其移动/片剂然后
6)Manufaturer /供应商名称
7)型号
的Http在python

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

+1

https://pypi.python.org/pypi/user-agents/ – root 2013-04-05 10:20:35

+0

@root:我已经看到了这一点,但我也想知道像诺基亚移动/平板电脑厂商,三星,黑莓等甚至他们的模型no从那些user_agent字符串 – blackhole 2013-04-05 10:23:01

+0

它是基于[ua解析器](https://github.com/tobie/ua-parser),如果它不符合您的需要,您可以尝试改进它。不知道你是否会找到能够完成所有工作的东西,但是找到它的好运气。 – root 2013-04-05 10:26:51

回答

0
# 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也是如此。托比为这个漂亮的图书馆做得很好。

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

+0

thanx,它会在一定程度上对我来说,但我也希望模型不喜欢如果它的iPhone不管它是iPhone 4还是iPhone 5,同样适用于其他制造商和他们的型号。 – blackhole 2013-04-05 18:49:16