我在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
答案 0 :(得分:1)
由于user agent字符串并未真正标准化,但浏览器供应商仅遵循彼此的示例,因此识别Windows客户端最安全的方法是简单地检查字符串“Windows”是否包含在其中。您可以使用Python中的in
运算符轻松检查它。
例如,要计算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)))
答案 1 :(得分: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))