-1

我在 python 中有一个系列,如下所示:

我希望将这个系列分为使用 Windows 操作系统的用户和不使用 Windows 操作系统的用户。有没有办法在 python 2.7.3 中做到这一点?先感谢您。

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko)  Chrome/17.0.963.78 Safari/535.11
GoogleMaps/RochesterNY
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.52.7 (KHTML, like Gecko) Version/5.1.2 Safari/534.52.7
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Opera/9.80 (X11; Linux zbov; U; en) Presto/2.10.254 Version/12.00
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.79 Safari/535.11
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.27) Gecko/20120216 Firefox/3.6.27
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
4

2 回答 2

1

由于用户代理字符串并没有真正标准化,但浏览器供应商只是互相效仿,识别 Windows 客户端最安全的方法是简单地检查字符串“Windows”是否包含在其中。in您可以使用Python中的运算符轻松检查。

例如,要计算 Windows 客户端的数量,您可以执行以下操作(lines所有这些用户代理字符串的列表在哪里):

numWindows = 0
for line in lines:
    if 'Windows' in line:
        numWindows += 1

print('{0} of {1} users are using Windows.'.format(numWindows, len(lines)))
于 2013-06-10T11:59:40.743 回答
1

这个怎么样,这类似于@poke的答案,但是由于Tarek提到了分离,所以这里分为两个列表:

windows = []
others = []

for line in lines:
    if 'Windows' in line:
         windows.append(line)
    else:
         others.append(line)

print('Windows: {} Others: {}'.format(len(windows),len(others))
于 2013-06-10T12:04:41.533 回答