python - 如何使用 Python 解析用户代理字符串

标签 python user-agent

<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 中是否有任何模块可用于解析用户代理。我想从这些示例中获取输出,例如:

Android
HTC Streaming player
ipad

如果是 PC 用户,我想获取网络浏览器类型。

最佳答案

有一个图书馆叫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'}}

关于python - 如何使用 Python 解析用户代理字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9209377/

相关文章:

python - 如何保存生命线模块绘制的图片

python - 如何在 Windows 上从 python 获取长文件系统路径

perl - 如何在 Mojo::UserAgent 中设置自定义用户代理字符串

cocoa - 是否可以以编程方式隐藏停靠栏图标

javascript - Microsoft Edge : Distinguish Desktop vs. 表面/触摸

javascript - 是否可以在 iOS 上针对微信内置浏览器的用户代理字符串?

python - Django一对多

python - 如何将 Python 3.x 与 Python(x,y) 一起使用?

python - 混淆矩阵中的白线?

javascript - 将识别字符串添加到用户代理字符串中以仅在 Android 应用程序中隐藏 div