如何找到使用python访问我的网站服务器的前5个ips?

时间:2018-08-09 16:13:40

标签: python

在Linux中很简单:

awk ‘ {print $1}’ logfile | sort | uniq -c | sort -nr | head -n 5

如何将相同的逻辑转换为Python函数?谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用子流程模块。 在下面的链接中,您可以找到问题的答案。 https://stackoverflow.com/a/13332300/4257838

答案 1 :(得分:0)

您可以使用collections.Counter来计算唯一IP的出现次数,然后对所得的dict项进行排序和切片:

from collections import Counter
from operator import itemgetter
for i, n in sorted(Counter(l.split()[0] for l in open('logfile').readlines()).items(), key=itemgetter(1), reverse=True)[:5]:
    print(n, i)