1

Apache のアクセス ログ ファイルを分析していて、ヒット数を知りたいです。
次のコードはそれを行います。

ips = df.groupby('IP').size()
ips.sort()
print ips[-10:]

しかし、トップ10の「リファラー」(9列目)を見つけたいですips
これどうやってするの?

ログ ファイルの行の例:

112.135.128.20 - [13/May/2013:23:55:04 +0530] "GET /SVRClientWeb/ActionController HTTP/1.1" 302 2 "https://www.example.com/sample" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329" GET /SVRClientWeb/ActionController - HTTP/1.1 www.test.com 
4

1 に答える 1

1

イシンを使う

最初に IP を並べ替えて、最後の 10 個の IP のインデックスを取得できます。

ips.sort()
top_ips = ips.tail(10).index

そして、isin必要なリファラーを取得するために使用します。

referrers = df[df['IP'].isin(top_ips)]['Referrer']
于 2013-06-10T08:10:03.887 に答える