Skip to content

[UserAgent]Transformer

Sun Jianbo edited this page Mar 9, 2018 · 2 revisions

只能在parser后使用,对UserAgent进行数据的解析并扩展,扩展出如下字段:

  • UA_Family: 族信息,通常一个公司的一系列产品会形成一个族。
  • UA_Major:大版本号
  • UA_Minor: 小版本号
  • UA_Patch:补丁版本
  • UA_Device_Family:设备族信息
  • UA_Device_Brand: 设备品牌
  • UA_Device_Model: 设备类型
  • UA_OS_Family: 操作系统族信息
  • UA_OS_Patch: 操作系统补丁版本
  • UA_OS_Major: 操作系统大版本号
  • UA_OS_Minor: 操作系统小版本号
  • UA_OS_PatchMinor: 操作系统补丁的小版本号

配置

{
	"type":"UserAgent",
	"key":"MyUserAgentFieldKey",
	"regex_yml_path":"/your/path/to/regexes.yaml"
}

其中 regex_yml_path 默认可以不填,也可以填写你拥有的 useragent 正则表达式yaml文件,最新的文件可以在 ua-parser/uap-core 上获取。。

  • key 填写useragent数据的key,字段支持多级嵌套,多级间用.符号连接,如abc.xyz,表示 data["abc"]["xyz"]中的数据。

功能示例

传入一个 useragent 字符串,假设为:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true

得到的数据为:

	"ua":               "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-80) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true",
	"UA_Family":        "Amazon Silk",
	"UA_Major":         "1",
	"UA_Minor":         "1",
	"UA_Patch":         "0-80",
	"UA_OS_Family":     "Android",
	"UA_Device_Family": "Kindle",
	"UA_Device_Brand":  "Amazon",
	"UA_Device_Model":  "Kindle"
Clone this wiki locally