gpt4 book ai didi

python解析nginx日志

转载 作者:行者123 更新时间:2023-11-30 22:57:17 26 4
gpt4 key购买 nike

我建了一个视频网站,网站结构很简单,一个首页,一个列表页,一个观看页。现在我想统计每个观看页面的点击次数,观看页面的url结构为:/v/id.html

这是日志文件的一部分:

58.52.168.119 - - [25/Aug/2014:00:00:30 +0800] "GET /v/31635.html HTTP/1.1" 200 10451 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0"
58.52.168.119 - - [25/Aug/2014:00:00:39 +0800] "GET /v/31635.html HTTP/1.1" 200 10451 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0"
125.85.189.50 - - [25/Aug/2014:00:00:42 +0800] "GET / HTTP/1.1" 200 44240 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1"
42.49.223.150 - - [25/Aug/2014:00:00:50 +0800] "GET / HTTP/1.1" 200 44240 "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)"
66.249.69.247 - - [25/Aug/2014:00:00:59 +0800] "GET /v/926.html HTTP/1.1" 200 10484 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

我可以从日志中获取点击时间、页面 ID,但我不知道如何将这些信息导入数据库。我想定义一些方法来访问统计信息。

get_yesterday_click(id)  #get yesterday's click times
get_last7days_click(id) #get last week's click times
get_last30days_click(id) #get last month's click times
get_total_click(id) #get the total click times

任何人都可以帮助我如何创建表和实现这些方法?

最佳答案

好的问题以非常丑陋的方式解决了。

先用python解析日志文件得到字典。

然后将字典写入json格式的文件。

使用php读取json文件并写入数据库。我的 stat 表是这样的:

+-------------+--------------+------+-----+---------+-------+| Field       | Type         | Null | Key | Default | Extra |+-------------+--------------+------+-----+---------+-------+| id          | int(11)      | NO   | PRI | NULL    |       || cdate       | char(8)      | YES  |     |         |       || day_click   | int(11)      | YES  |     | 0       |       || week_click  | varchar(200) | YES  |     |         |       || month_click | varchar(500) | YES  |     |         |       || total_click | int(11)      | YES  |     | 1000    |       |+-------------+--------------+------+-----+---------+-------+

一个测试记录是这样的:

| 31967 | 20140826 |         2 | 2,2,2,2,2,2 | 2,2,2,2,2,2 |          12 |

week_clickmonth_click 作为队列实现。

希望看到一个更好的方法来实现统计程序。

关于python解析nginx日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25721168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com