问题标签 [ua-parser]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
505 浏览

java - Hive ua 解析器 UDF 给出 IOException

String我已经以格式存储了用户代理字符串。

我想从用户代理字符串中提取浏览器。所以我使用了ua-parser-java库。

Hive UDF 代码如下:

它给了我以下例外。

尝试使用String而不是Text但得到相同的异常。如果没有配置单元,此代码可以完美运行。更新:hadoop 或 hive 的日志中没有关于此的详细信息。

0 投票
0 回答
859 浏览

scala - 将scala uaparser应用于数据框列

如何将 scala uaparser 应用于数据框的列。数据框中列中的每一行的形式为 -

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3"

我正在尝试某种形式-

我收到上述错误。我也尝试过其他方法来完成上述操作,但结果相同。我无法理解的是 uaparser 如何处理数据框列的每一行。hiveDf("application_browser_user_agent") 的每一行看起来都像上面粘贴的字符串示例。

我看过的链接 - 将函数应用于 Spark Dataframe Column

我是否先将其转换为 RDD,然后使用 uaparser 处理 RDD 的每一行?

uaparser 的链接 - https://github.com/ua-parser/uap-scala

错误信息 -

0 投票
2 回答
1180 浏览

python-2.7 - 使用自定义 Python 库 ua-parser 的 Amazon Redshift UDF

我想使用 Python 库在 Redshift 中创建 UDF 函数,特别是ua-parser库。

在 Redshift 上使用自定义 Python 库的过程在此处描述http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_LIBRARY.html

为了获得具有所有依赖项的库,我使用了 aws labs 的PipLibraryInstaller,它应该将所有依赖库放在 S3 上,与常规 pip 命令相同。

但是我不能让 ua-parser 库使用这个命令。

我使用以下命令创建并上传 lib 到 S3

然后我使用以下命令创建库

然后我创建了函数:

当我尝试执行以下操作时:

我收到以下错误:

错误:XX000:ImportError:没有名为 _regexes 的模块。请查看 svl_udf_log 了解更多信息

看起来正则表达式不在库中。但是,当我从 S3 下载 lib 并查看它时,我看到以下文件: 在此处输入图像描述

这里有什么问题?我正在做一些事情或者图书馆有问题?

0 投票
3 回答
1796 浏览

scala - Spark中的UDF工作很慢

我在 spark 中有一个 UDF(在 EMR 上运行),用 scala 编写,使用 uaparser 库用于 scala(uap-scala)从用户代理解析设备。在小型集合上工作时它工作正常(5000 行),但在大型集合(2M)上运行时它工作得非常慢。我尝试收集 Dataframe 以列出并在驱动程序上循环它,这也很慢,是什么让我相信 UDF 在驱动程序而不是工人上运行

  1. 我怎样才能确定这一点?有人有其他理论吗?
  2. 如果是这样,为什么会发生这种情况?

这是 udf 代码:

用法:

谢谢尼尔

0 投票
1 回答
151 浏览

python - .csv 工作正常,.tsv 给出“TypeError:预期的字符串或缓冲区”

我正在编写一个 python 脚本来解析用户代理字符串并将它们简化为“家庭”(即 chrome、firefox、safari 等)。

我有一个脚本在对 csv 文件运行时完全正常,但是当我对 .tsv 文件运行文件时,它给了我以下错误:

TypeError:预期的字符串或缓冲区

还有其他人遇到这个问题吗?示例代码如下。

追溯:

0 投票
2 回答
2691 浏览

javascript - 如何在 Angular 4 中使用 ua-parser-js

我想要来自用户代理的操作系统名称、操作系统版本、浏览器名称、浏览器版本和设备。如何在 Angular 4 的应用程序中使用用户代理解析器 js。我尝试了 ng2-device-detector@1.0.0 但它没有返回我的操作系统版本和设备。请帮我

0 投票
0 回答
124 浏览

c# - 如何从 User-Agent 获取浏览器版本(包括构建)?

我正在尝试从 User-Agent 获取浏览器版本。

这是我的用户代理:

经过一番搜索,我写了一个非常简单的代码:

类根:

控制器:

但由于某种原因,我无法接收 Chrome 的构建(94.0.4606. 81),只能接收 94.0.460,我尝试将构建添加到 Root 作为对象,但它只返回 null。

你有什么想法我在这里的错误是什么?

谢谢!

0 投票
0 回答
58 浏览

dependencies - 在 npm install 期间防止 ua-parser-js 安装

我想知道是否可以在执行命令“npm install”时阻止安装 ua-parser-js。

我看到解析器在 npm 安装期间自动下载的各种 node_modules 的 stream-http 模块的 package.json 中作为 devDependency 存在。因此,我在想我们是否有办法控制或阻止这种依赖安装。

期待在这方面得到帮助。

0 投票
1 回答
80 浏览

javascript - 为什么我可以在只支持 CommonJS 模块的库中使用 import 语句?

ua-parser-js 只支持CommonJS 模块。并且在导出时,找不到导出语句:

不过,为什么我可以通过 UAParser 导入import { UAParser } from 'ua-parser-js'?此代码显示在以下 SO 答案和 GitHub 问题中。

https://stackoverflow.com/a/57171046

https://github.com/faisalman/ua-parser-js/issues/423