2013-04-05 36 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