我有字符串,我需要使用以下信息解析Agent:
我的约会日期看起来像:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"
并输出类似数据表的信息,其中包含列中的信息。
在R中尝试使用包:
library(uaparserjs)
library(dplyr)
dplyr::glimpse(ua_parse(mydata))%>%data.frame()
输出:
Observations: 1
Variables: 7
$ userAgent <chr> "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safa...
$ ua.family <chr> "Chrome"
$ ua.major <chr> "67"
$ ua.minor <chr> "0"
$ ua.patch <chr> "3396"
$ os.family <chr> "Linux"
$ device.family <chr> "Other"
有没有建议与PYTHON一起使用的最佳软件包?
答案 0 :(得分:1)
这将为您提供所有软件的版本和其他信息(如果提供):
import re
string = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"
software = re.findall(r"\w+/[\d\.]+\.? \(.+?\)|\w+/[\d\.]+\.?", string)
info = {}
for i in software:
version=re.search(r"(?<=/)[\d+\.]+\,?", i).group()
try:
additional_info = re.search(r"(\(.+?\))", i).group()
except:
additional_info = ""
info[re.search(r"\w+(?=/)",i).group()] = {"version":version, "additional_info":additional_info}
第一个正则表达式找到所有软件,然后我创建具有结构{"software1" : {"version" : version, "additional_info" : additional_info}, "software2" :....}
的字典