在Python Bottle中获取用户浏览器信息

 feileide2011_108 发布于 2023-02-13 12:29

我试图找出我的用户正在使用哪些浏览器,但遇到了问题。如果我尝试阅读标题“ User-Agent”,通常会给我很多文本,并且什么也没告诉我。例如,如果我使用Chrome浏览器访问网站,则在“ User-Agent”标题中有:

用户代理:“ Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 31.0.1650.57 Safari / 537.36”。

如您所见,尽管提到了Mozzila,Safari,Chrome等,但它什么也没告诉我。

我一直在使用的框架是Bottle(Python)。

任何帮助,将不胜感激,谢谢。

1 个回答
  • 用户代理:“ Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 31.0.1650.57 Safari / 537.36”。

    如您所见,尽管提到了Mozzila,Safari,Chrome等,但它什么也没告诉我。

    您的上述结论是错误的。UA会告诉您许多内容,包括Web浏览器的类型和版本。

    下面的文章解释为什么MozillaSafari存在于Chrome的UA。

    浏览器用户代理字符串的历史记录

    您可以尝试在user-agent-string-db上对其进行手动分析。

    有一个Python API。

    from uasparser2 import UASparser
    
    uas_parser = UASparser()
    # Instead of fecthing data via network every time, you can cache the db in local
    # uas_parser = UASparser('/path/to/your/cache/folder', mem_cache_size=1000)
    # Updating data is simple: uas_parser.updateData()
    
    
    result = ua_parser.parse('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36')
    
    
    # result
    {'os_company': u'',
     'os_company_url': u'',
     'os_family': u'Linux',
     'os_icon': u'linux.png',
     'os_name': u'Linux',
     'os_url': u'http://en.wikipedia.org/wiki/Linux',
     'typ': u'Browser',
     'ua_company': u'Google Inc.',
     'ua_company_url': u'http://www.google.com/',
     'ua_family': u'Chrome',
     'ua_icon': u'chrome.png',
     'ua_info_url': u'http://user-agent-string.info/list-of-ua/browser-detail?browser=Chrome',
     'ua_name': u'Chrome 31.0.1650.57',
     'ua_url': u'http://www.google.com/chrome'}
    

    2023-02-13 12:32 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有