從日志中找出流量來源,可以按照以下步驟進行:
grep
, awk
, sed
)或日志管理軟件來提取所需信息。Referer
頭(如果有)。Referer
頭或Referer
指向自己的網站。Referer
頭會包含搜索引擎的URL。Referer
頭可能包含社交媒體的鏈接。Referer
頭會顯示點擊的外部鏈接。import pandas as pd
from collections import Counter
# 讀取日志文件
log_file = '/var/log/nginx/access.log'
df = pd.read_csv(log_file, sep=' ', header=None, names=[
'ip', 'timestamp', 'request', 'status', 'size', 'referrer', 'user_agent'
])
# 篩選出有Referer的記錄
df_with_referer = df[df['referrer'].notnull()]
# 統計來源網站
referrer_counts = Counter(df_with_referer['referrer'])
# 打印前10個主要來源
for referrer, count in referrer_counts.most_common(10):
print(f'{referrer}: {count}')
通過以上步驟,你可以有效地從日志中找出流量來源,并據此做出相應的優化決策。