假设您有一个网络服务器日志(apache、nginx 等)。从中提取大量 URL:
/article/1/view
/article/2/view
/article/1/view
/article/1323/view
/article/1/edit
/help
/article/1/view
/contact
/contact/thank-you
/article/8/edit
...
或者
/blog/2012/06/01/how-i-will-spend-my-summer-vacation
/blog/2012/08/30/how-i-wasted-my-summer-vacation
...
你将这些 url 分解成它们的片段,这样你就有 ['article', '1323', 'view'] 或 ['blog', '2012', '08', '30', 'how-i-wasted-my -暑假']。
如何分析和比较这些 url 以检测和调用 url 路径中的“变量”。也就是说,您需要识别诸如/article/XXX/view
、/article/XXX/edit
和/blog/XXX/XXX/XXX/XXX
之类的内容,以便您可以在日志中汇总有关这些行的信息。
我假设对于构成可变片段与外观相似但不同的模板的差异数量需要一些统计阈值。我也不确定什么样的数据结构可以让这个分析变得又快又容易。
我希望脚本的输出能够输出它认为服务器上存在的所有 url 模板,如果合适的话,可能带有一些置信度值。