IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> python:user_agents 一个解析(浏览器/HTTP)用户代理的库 -> 正文阅读

[网络协议]python:user_agents 一个解析(浏览器/HTTP)用户代理的库

user_agents是一个Python库,通过解析(浏览器/HTTP)用户代理字符串,提供了一种简单的方法来识别/检测设备。user_agents依赖于优秀的ua-parser对原始用户代理字符串进行实际解析。

安装

C:\Users\lifeng01>pip?install?pyyaml?ua-parser?user-agents
Requirement?already?satisfied:?pyyaml?in?d:\python\python37\lib\site-packages?(3.10)
Collecting?ua-parser
??Downloading?ua_parser-0.10.0-py2.py3-none-any.whl?(35?kB)
Collecting?user-agents
??Downloading?user_agents-2.2.0-py3-none-any.whl?(9.6?kB)
Installing?collected?packages:?ua-parser,?user-agents
Successfully?installed?ua-parser-0.10.0?user-agents-2.2.0

基本使用

from?user_agents?import?parse

user_string?=?"Mozilla/5.0?(Windows?NT?6.2;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/92.0.4515.107?Safari/537.36"
user_agent?=?parse(user_string)


#?访问用户代理的浏览器属性
print(user_agent.browser)
print(user_agent.browser.family)
print(user_agent.browser.version)
print(user_agent.browser.version_string)


#?访问用户代理的操作系统属性
print(user_agent.os)
print(user_agent.os.family)
print(user_agent.os.version)
print(user_agent.os.version_string)


#?访问用户代理的设备属性
print(user_agent.device)
print(user_agent.device.family)
print(user_agent.device.brand)
print(user_agent.device.model)


#?查看一个漂亮的字符串版本
print(str(user_agent))


#?运行结果
Browser(family='Chrome',?version=(92,?0,?4515),?version_string='92.0.4515')
Chrome
(92,?0,?4515)
92.0.4515
OperatingSystem(family='Windows',?version=(8,),?version_string='8')
Windows
(8,)
8
Device(family='Other',?brand=None,?model=None)
Other
None
None
PC?/?Windows?8?/?Chrome?92.0.4515

Process?finished?with?exit?code?0

复杂使用

user_agents还暴露了其他一些更“复杂”的属性,这些属性是从上面定义的一个或多个基本属性派生出来的。就目前而言,这些属性应该能够正确识别流行的平台/设备,支持较小的平台/设备的请求。

目前支持这些属性:

  • is_pc:用户代理是否被识别为设备设备
  • is_bot:用户代理是否为搜索引擎爬虫/爬行器
  • is_mobile:用户代理是否被识别为手机设备
  • is_tablet:用户代理是否被识别为平板设备
  • is_touch_capable:用户代理是否有触摸功能
  • is_email_client:用户代理是否被识别为邮件客户端
from?user_agents?import?parse

user_string?=?"Mozilla/5.0?(Windows?NT?6.2;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/92.0.4515.107?Safari/537.36"
user_agent?=?parse(user_string)

print(user_agent.is_pc)
print(user_agent.is_bot)
print(user_agent.is_mobile)
print(user_agent.is_tablet)
print(user_agent.is_touch_capable)
print(user_agent.is_email_client)

#?运行结果
True
False
False
False
False
False

Process?finished?with?exit?code?0

运行测试

这个运行是使用的unittest框架,编写测试用例进行运行的,只要熟悉python接口自动化或者单元测试的都会使用

import?unittest
from?user_agents?import?parse


class?TestUserAgents(unittest.TestCase):


????def?test_user_agents(self):
????????user_string?=?"Mozilla/5.0?(Windows?NT?6.2;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?Chrome/92.0.4515.107?Safari/537.36"
????????user_agent?=?parse(user_string)

????????print(user_agent.is_pc)
????????print(user_agent.is_bot)
????????print(user_agent.is_mobile)
????????print(user_agent.is_tablet)
????????print(user_agent.is_touch_capable)
????????print(user_agent.is_email_client)

if?__name__?==?'__main__':
????unittest.main()

这里可直鼠标右击运行,也可以使用命令运行,命令运行是:python -m unittest discover;运行结果如下:

PS?D:\pythonProject\runUserAgents>?python?-m?unittest?discover
True
False
False
False
False
False
.
----------------------------------------------------------------------
Ran?1?test?in?0.006s

OK

以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的点赞和分享哟,谢谢!

未完,待续…

一直都在努力,希望您也是!

更多内容欢迎关注公众号
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-19 12:16:09  更:2021-10-19 12:16:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:27:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码