2012-02-09 7 views
5
<field name="http.user_agent" showname="User-Agent: CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2)\r\n" size="62" pos="542" show="CORE/6.506.4.1 OpenCORE/2.02 (Linux;Android 2.2)" value="557365722d4167656e743a20434f52452f362e3530362e342e31204f70656e434f52452f322e303220284c696e75783b416e64726f696420322e32290d0a"/> 

<field name="http.user_agent" showname="User-Agent: HTC Streaming Player htc_wwe/1.0/htc_vivo/2.3.5\r\n" size="67" pos="570" show="HTC Streaming Player htc_wwe/1.0/htc_vivo/2.3.5" value="557365722d4167656e743a204854432053747265616d696e6720506c61796572206874635f777765202f20312e30202f206874635f7669766f202f20322e332e350d0a"/> 

<field name="http.user_agent" showname="User-Agent: AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; sv_se)\r\n" size="85" pos="639" show="AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; sv_se)" value="557365722d4167656e743a204170706c65436f72654d656469612f312e302e302e38433134382028695061643b20553b20435055204f5320345f325f31206c696b65204d6163204f5320583b2073765f7365290d0a"/> 

私が持っているURLのサンプルは上記のとおりです。 Pythonでユーザエージェントを解析するために使用できるモジュールがあるかどうか疑問に思っています。私は次のようにこれらのサンプルからの出力を取得したい:ユーザーエージェント文字列を解析する方法は? python

Android 
HTC Streaming player 
ipad 

、それはPCユーザーであれば、私は、Webブラウザの種類を取得したいです。 http://docs.python.org/library/re.html またはこれを見てみましょう:あなたは正規表現を使用して独自のを書いてみることができます

答えて

11

ライブラリがあり、そのためhttpagentparserと呼ば:

import httpagentparser 
>>> s = "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9" 
>>> print httpagentparser.simple_detect(s) 
('Linux', 'Chrome 5.0.307.11') 
>>> print httpagentparser.detect(s) 
{'os': {'name': 'Linux'}, 
'browser': {'version': '5.0.307.11', 'name': 'Chrome'}} 
+2

ライブラリの作成を促した[このような質問](http://stackoverflow.com/questions/927552/parsing-http-user-agent-string)と代替案を参照してください。 –

関連する問題