我建立了一个视频网站,该网站的结构非常简单,一个索引页面,一个列表页面和一个观看页面。现在我想计算每个观看页面的点击次数,观看页面的网址结构为:/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
任何人都可以帮助我创建表并实现这些方法吗?
答案 0 :(得分:0)
好的问题以一种非常丑陋的方式解决了。
首先使用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_click
和month_click
被实现为队列。
希望看到更好的方法来实施统计程序。