资讯专栏INFORMATION COLUMN

识别 user-agent 的信息

luck / 1750人阅读

摘要:最近整理了相关参数,做了大量的匹配工作,从而增加了从识别出浏览器设备手机等信息的项目。原项目原项目只能识别国外浏览器和年前的设备,不能识别手机信息。添加识别手机屏幕尺寸和分辨率功能。

user-agent

最近整理了user-agent相关参数,做了大量的匹配工作,从而增加了从user-agent识别出浏览器、设备、手机等信息的user-agent-util项目。地址为: https://github.com/sekift/use... 。

原项目

原项目只能识别国外浏览器和2018年前的设备,不能识别手机信息。其功能包括:

超过150种不同的浏览器;

7种不同的浏览器类型;

超过60种不同的操作系统;

6种不同的设备类型;

9种不同的渲染引擎;

9种不同的Web应用,如HttpClient、Bot

本项目

本项目在上面项目的基础上,增加了国内常用浏览器和识别手机信息,添加了以下功能:

添加识别手机型号的功能,现共能识别多达1300多款手机。

添加识别手机屏幕尺寸和分辨率功能。

添加对UC、QQ、淘宝等多款浏览器的支持。

使用

先加载jar包,然后创建以下代码:

UserAgent userAgent = UserAgent.parseUserAgentString("Mozilla/5.0 
(Linux; U; Android 5.1.1; zh-cn; SM-G6000 Build/LMY47X) 
AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/1.0.0.100 
U3/0.8.0 Mobile Safari/534.30 AliApp(TB/6.2.3) WindVane/8.0.0 720X1280 
GCanvas/1.4.2.21");

System.out.println("浏览器名:" + userAgent.getBrowser().getName());
System.out.println("浏览器类型:" + userAgent.getBrowser().getBrowserType());
System.out.println("浏览器家族:" + userAgent.getBrowser().getGroup());
System.out.println("浏览器生产厂商:" + userAgent.getBrowser().getManufacturer());
System.out.println("浏览器使用的渲染引擎:" + userAgent.getBrowser().getRenderingEngine());
System.out.println("浏览器版本:" + userAgent.getBrowserVersion());
System.out.println("操作系统名:" + userAgent.getOperatingSystem().getName());
System.out.println("操作系统类型:" + userAgent.getOperatingSystem().getDeviceType());
System.out.println("操作系统家族:" + userAgent.getOperatingSystem().getGroup());
System.out.println("操作系统生产厂商:" + userAgent.getOperatingSystem().getManufacturer().toString());
System.out.println("手机型号:" + userAgent.getMobile().getName());
System.out.println("手机屏幕尺寸:" + userAgent.getMobile().getScreenSize().getName());
System.out.println("手机屏幕分辨率:" + userAgent.getMobile().getResolution().getName());
System.out.println("手机识别码:" + userAgent.getMobile().getMobileId());
System.out.println("手机固件版本:" + userAgent.getMobile().getMobileVersion());
System.out.println("手机生产厂商:" + userAgent.getMobile().getMobileBrand().getName());
System.out.println("手机家族:" + userAgent.getMobile().getGroup());

结果:

浏览器名:UCBrowser
浏览器类型:WEB_BROWSER
浏览器家族:UC
浏览器生产厂商:ALIBABA
浏览器使用的渲染引擎:GECKO
浏览器版本:1.0.0.100
操作系统名:Android 5.x
操作系统类型:MOBILE
操作系统家族:ANDROID
操作系统生产厂商:GOOGLE
手机型号:三星 Galaxy On7
手机屏幕尺寸:5.5
手机屏幕分辨率:720x1280
手机识别码:sm-g6000
手机固件版本:lmy47x
手机生产厂商:三星
手机家族:SAMSUNG
欢迎使用

本项目地址为: https://github.com/sekift/use... 。欢迎使用、赞星和反馈。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/73812.html

相关文章

  • Python入门网络爬虫之精华版

    摘要:学习网络爬虫主要分个大的版块抓取,分析,存储另外,比较常用的爬虫框架,这里最后也详细介绍一下。网络爬虫要做的,简单来说,就是实现浏览器的功能。 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scrapy,这里最后也详细介绍一下。 首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要的基本概念和技巧:宁哥的小站-网络爬虫,当我们在浏览器中输入...

    Bmob 评论0 收藏0
  • Python_爬虫基础

    摘要:并不是所有爬虫都遵守,一般只有大型搜索引擎爬虫才会遵守。的端口号为的端口号为工作原理网络爬虫抓取过程可以理解为模拟浏览器操作的过程。表示服务器成功接收请求并已完成整个处理过程。 爬虫概念 数据获取的方式: 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然优势。有数据意识的中小型企业,也开始积累的数据。 数据管理咨询公司 政府/机构提供的公开数据 第三方数据平台购买...

    ixlei 评论0 收藏0
  • 使用 Nginx map 指令匹配 User Agent 自定义值

    摘要:指令正则匹配指令使用模块提供的,模块可以创建变量,这些变量的值与另外的变量值相关联。根据不同的设置网站根目录通过指令获取到自定义值后,可以做如下设置,让不同的测试人员对应不同的网站根目录这里行,网站目录可以用变量来表示。 原文链接:https://blog.tanteng.me/2016/... ,原文内容会不断完善,以原文为准。 本文介绍有关 User-Agent 的知识,以及使用 ...

    shiweifu 评论0 收藏0
  • 网站信息采集

    摘要:网站信息采集在编写爬虫之前可能需要先了解和搜集网站信息协议也称为爬虫协议机器人协议等的全称是网络爬虫排除标准,网站通过协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。 网站信息采集 在编写爬虫之前可能需要先了解和搜集网站信息 robots.txt Robots协议(也称为爬虫协议、机器人协议等)的全称是网络爬虫排除标准(Robots Exclusion Protocol),网站通过...

    AZmake 评论0 收藏0
  • 爬虫攻防实践

    摘要:之前在学校曾经用过的方法做过一些爬虫脚本来玩,从正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践。爬虫脚本通常会很频繁的进行网络请求,比如要爬取豆瓣排行榜的电影,就会连续发送个网络请求。 之前在学校曾经用过request+xpath的方法做过一些爬虫脚本来玩,从ios正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践...

    wanglu1209 评论0 收藏0

发表评论

0条评论

luck

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<