用于分析浏览器用户代理的库

uaparser的Python项目详细描述


此库使用来自[用户代理字符串.info](http://user-agent-string.info/)的数据分析浏览器用户代理字符串。

这个库松散地基于hicro kee(gmail.com上的hicrokee)和michal molhanec(http://molhanec.net)的工作。

用法:

from uaparser import UA, UAParser
parser = UAParser()
parser.update_data()
ua = UA(parser, user_agent_string)
print ua.is_robot() # returns empty dictionary if robot is not detected
print ua.get_browser_details() # returns empty dictionary, or browser details
print ua.get_device_type() # returns dict containing device type fields
print ua.get_os_details()
# Or alternatively,
print ua.parse() # returns all parsed fields for the UA string

django集成

由于运行大量regex需要很长时间,django集成使用缓存。

用法:

from uaparser.django.caching_ua_parser import parse_user_agent
parsed = parse_user_agent(request.META.get("HTTP_USER_AGENT"))

parse_user_agent获取所有用户代理字段(即它调用ua.parse())。

设置:

  • UA_CACHE_DIRECTORY:数据文件的目录(“cache.pickle”)。强制性的。
  • UA_CACHE_NAME:默认为“默认”。定义自定义django缓存名称。
  • UA_CACHE_PREFIX:默认为“parse-ua”。缓存的密钥前缀。
  • UA_CACHE_TIMEOUT:默认为48小时。缓存密钥超时(秒)。

中间件:将uaparser.django.middleware.UAParserMiddleware添加到MIDDLEWARE_CLASSES

上下文处理器:要将parsed_ua变量添加到上下文,请将uaparser.django.context_processor.add_parsed_ua添加到CONTEXT_PROCESSORS。如果未启用UAParserMiddleware,则此操作不起作用。

许可证

根据麻省理工学院的许可证。

版权所有(C)2014 Olli Jarva<;olli@jarva.fi>;

兹免费准许任何人取得副本 本软件和相关文档文件(“软件”)的 在软件中不受限制,包括但不限于 使用、复制、修改、合并、发布、分发、再授权和/或出售 软件的副本,并允许软件的用户 在满足以下条件的情况下,可以这样做:

上述版权公告及本许可公告须包括在 软件的所有副本或大部分。

本软件按“原样”提供,无任何形式的保证,明示或 默示的,包括但不限于适销性保证, 适合特定目的和不侵权。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在合同诉讼、侵权诉讼或其他诉讼中, 不属于或与软件、使用或其他交易有关 软件。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像