You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add ua-parser[regex] to your project's dependencies, or run
$ pip install 'ua-parser[regex]'
to install in the current environment.
ua-parser supports CPython 3.9 and newer, recent pypy (supporting
3.10), and GraalPy 24.
Note
The [regex] feature is strongly recommended, the Pure python
(no feature) is significantly slower, especially on non-cpython
runtimes, though it is the most memory efficient.
See builtin resolvers for more explanation of the tradeoffs
between the different options.
Quick Start
Retrieve all data on a user-agent string
>>>fromua_parserimportparse>>>ua_string='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36'>>>parse(ua_string) # doctest: +NORMALIZE_WHITESPACE, +ELLIPSISResult(user_agent=UserAgent(family='Chrome',
major='41',
minor='0',
patch='2272',
patch_minor='104'),
os=OS(family='Mac OS X',
major='10',
minor='9',
patch='4',
patch_minor=None),
device=Device(family='Mac',
brand='Apple',
model='Mac'),
string='Mozilla/5.0 (Macintosh; IntelMacOS...
Any datum not found in the user agent string is set to None:
>>>fromua_parserimportparse_user_agent>>>ua_string='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36'>>>parse_user_agent(ua_string)
UserAgent(family='Chrome', major='41', minor='0', patch='2272', patch_minor='104')
For specific domains, a match failure just returns None:
>>> parse_user_agent("")
Extract OS information from user-agent string
>>>fromua_parserimportparse_os>>>ua_string='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36'>>>parse_os(ua_string)
OS(family='Mac OS X', major='10', minor='9', patch='4', patch_minor=None)
Extract device information from user-agent string
>>>fromua_parserimportparse_device>>>ua_string='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 Safari/537.36'>>>parse_device(ua_string)
Device(family='Mac', brand='Apple', model='Mac')