解析R中的用户代理,但如何使用python?

2024-05-16 13:34:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有字符串,我需要用如下信息解析代理:

我的约会对象看起来是:"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()

输出:

^{pr2}$

有没有最好的PYTHON包建议?


Tags: 对象字符串信息代理mozillalinuxlibraryx86
1条回答
网友
1楼 · 发布于 2024-05-16 13:34:04

这将为您提供包含版本和其他信息的所有软件:

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}

第一个regex找到所有的软件,然后我创建一个结构为{"software1" : {"version" : version, "additional_info" : additional_info}, "software2" :....}的字典

相关问题 更多 >