每天分享一个好用的Python库-user-agents

Python
519
0
0
2022-05-06
标签   Python库

前言

今天分享是浏览器的用户代理的第三方库:user-agents

user-agents

简介

unioutuser_agents是一个提供了一种通过解析(浏览器/HTTP)用户代理字符串来识别/检测手机、平板电脑等设备及其功能的简单方法的第三方Python库。

安装

pip install pyyaml ua-parser user-agents

简单使用

  • 识别访问者的各种基本信息可以访问浏览器、设备和操作系统属性。 例如:
>>> from user_agents import parse
>>> ua_string = 'Mozilla/5.0 (HUAWEI; CPU HarmonyOS 2 5_1 like HarmonyOS 2) HUAWEIWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 HUAWEI/7534.48.3'
>>> user_agent = parse(ua_string)
  • 访问用户代理的浏览器属性
>>> user_agent.browser
Browser(family='Mobile HUAWEI', version=(5, 1), version_string='5.1')
>>> user_agent.browser.family
'Mobile HUAWEI'
>>> user_agent.browser.version
(5, 1)
>>> user_agent.browser.version_string
'5.1'
  • 访问用户代理的操作系统属性
>>> user_agent.os
OperatingSystem(family='HarmonyOS 2', version=(5, 1), version_string='5.1')>>> user_agent.os.family
'HarmonyOS 2'
>>> user_agent.os.version
(5, 1)
>>> user_agent.os.version_string
'5.1'
  • 访问用户代理的设备属性
>>> user_agent.device
Device(family='HUAWEI', brand='HUAWEI', model='HUAWEI')
>>> user_agent.device.family 
'HUAWEI'
>>> user_agent.device.brand
'HUAWEI'
>>> user_agent.device.model
'HUAWEI'
  • user_agents还公开了一些其他更“复杂”的属性,这些属性源自上面定义的一个或多个基本属性。 就目前而言,这些属性应该正确识别流行的平台/设备,始终欢迎支持较小平台/设备的拉取请求。目前支持以下属性:
  • is_mobile:用户代理是否被识别为手机(HUAWEI、HarmonyOS 手机设备等)
  • is_table:用户代理是否被识别为平板设备(MatePad、MatePadPro等)
  • is_pc:用户代理是否被识别为运行传统的“桌面”操作系统(Windows、OS X、Linux)
  • is_touch_capable:用户代理是否具有触摸功能
  • is_bot:用户代理是否是搜索引擎爬虫/蜘蛛

作用

user_agents依靠优秀的ua-parser来对原始用户代理字符串进行实际解析,对后端开发在进行爬虫检测等方面做出了便利的工具。

尾巴

user_agents这类功能简单单一的第三方库我们自己写一个往往也不麻烦,但是有时候我们需要将更多的精力放在其他地方,必须要进行造轮子的操作,这时候多了解一些第三方库可以更有利于我们的开发。

官方文档地址