Python开发程序:生成环境下统计网站访问日志信息

日志实时分析系统

生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量、UV、独立IP等信息,用直观的数据表格表现出来

环境描述:

网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他位置,当前日志清空

NGINX日志配置信息:

http {
log_format  main  ‘$remote_addr - [$time_local]  "$request" ‘
                                ‘ - $status "User_Cookie:$guid" ‘;
}

server {
if ($http_cookie ~* "(.*)$"){
        #if ($http_cookie ~* "JCRB_VOTE=([A-Z0-9]*)"){
                set $guid $1;
        }
}

日志只统计:客户IP、访问时间、请求路径、状态码、客户端缓存

日志access.log示例

221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104291798 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283738 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283903 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283995 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104292817 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
121.28.161.2 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=XC9EHH&voteString=2|14|29|31|33|&keyString=xmtwb2016&jsoncallback=jQuery18008703299721237272_1479104243850&_=1479104285026 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.120 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=99U4R3&voteString=0|1|2|3|4|&keyString=xmtwb2016&jsoncallback=jQuery180026725079771131277_1479104393301&_=1479104413870 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285036 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285194 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285303 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104293800 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=2|7|15|21|23|&keyString=xmtwb2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296352 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|11|12|22|27|&keyString=xmtwx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296404 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|30|37|38|39|&keyString=xmtgx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwx2016&jsoncallback=jQuery18008259619923322621_1479104293001&_=1479104294141 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwb2016&jsoncallback=jQuery18008259619923322621_1479104293000&_=1479104294139 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmttth2016&jsoncallback=jQuery18008259619923322621_1479104293002&_=1479104294142 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzp2016&jsoncallback=jQuery18008259619923322621_1479104293003&_=1479104294144 HTTP/1.1"  - 200 "User_Cookie:"
121.28.161.2 - [14/Nov/2016:14:19:37 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzmt2016&jsoncallback=jQuery18008259619923322621_1479104293004&_=1479104294145 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtgx2016&jsoncallback=jQuery18008259619923322621_1479104293005&_=1479104294146 HTTP/1.1"  - 200 "User_Cookie:"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104294806 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286275 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
101.27.93.120 - [14/Nov/2016:14:19:38 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.192.216.166 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=8lrg49&voteString=1|2|3|6|11|16|21|27|37|&keyString=xmtwx2016&jsoncallback=jQuery18005909615200944245_1479104270260&_=1479104303736 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286622 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104295808 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287539 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287697 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287785 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
117.136.2.149 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=cwp238&voteString=2|13|18|23|28|&keyString=xmtwb2016&jsoncallback=jQuery18004623273138422519_1479104263786&_=1479104281947 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=BF38C42EF499AAACB05A6EA87E3B1EB9"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104296807 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.192.216.166 - [14/Nov/2016:14:19:40 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288831 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288992 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104289087 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104297802 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
60.31.197.14 - [14/Nov/2016:14:19:41 +0800]  "GET /captcha?0.9926116424744409 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=DB00034D5EC927BE007CE54F3D67587D"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104291798 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283738 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283903 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:35 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104283995 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104292817 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
121.28.161.2 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=XC9EHH&voteString=2|14|29|31|33|&keyString=xmtwb2016&jsoncallback=jQuery18008703299721237272_1479104243850&_=1479104285026 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.120 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=99U4R3&voteString=0|1|2|3|4|&keyString=xmtwb2016&jsoncallback=jQuery180026725079771131277_1479104393301&_=1479104413870 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:36 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285036 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285194 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104285303 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104293800 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=2|7|15|21|23|&keyString=xmtwb2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296352 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|11|12|22|27|&keyString=xmtwx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296404 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
101.27.93.130 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=wvt2qr&voteString=1|30|37|38|39|&keyString=xmtgx2016&jsoncallback=jQuery18006269013724414528_1479104280845&_=1479104296451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8AFB9444EE47A0BA61F01CE62AC641F5"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwx2016&jsoncallback=jQuery18008259619923322621_1479104293001&_=1479104294141 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtwb2016&jsoncallback=jQuery18008259619923322621_1479104293000&_=1479104294139 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmttth2016&jsoncallback=jQuery18008259619923322621_1479104293002&_=1479104294142 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzp2016&jsoncallback=jQuery18008259619923322621_1479104293003&_=1479104294144 HTTP/1.1"  - 200 "User_Cookie:"
121.28.161.2 - [14/Nov/2016:14:19:37 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=211799D6E388EC17CC4B0F5353424F04"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtzmt2016&jsoncallback=jQuery18008259619923322621_1479104293004&_=1479104294145 HTTP/1.1"  - 200 "User_Cookie:"
222.219.53.119 - [14/Nov/2016:14:19:37 +0800]  "GET /result?keyString=xmtgx2016&jsoncallback=jQuery18008259619923322621_1479104293005&_=1479104294146 HTTP/1.1"  - 200 "User_Cookie:"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:37 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104294806 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286275 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
101.27.93.120 - [14/Nov/2016:14:19:38 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=55CA71DFC55332CDC978091D5787E328"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286451 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.192.216.166 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=8lrg49&voteString=1|2|3|6|11|16|21|27|37|&keyString=xmtwx2016&jsoncallback=jQuery18005909615200944245_1479104270260&_=1479104303736 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104286622 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:38 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104295808 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287539 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287697 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104287785 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:39 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
117.136.2.149 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=cwp238&voteString=2|13|18|23|28|&keyString=xmtwb2016&jsoncallback=jQuery18004623273138422519_1479104263786&_=1479104281947 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=BF38C42EF499AAACB05A6EA87E3B1EB9"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104296807 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.192.216.166 - [14/Nov/2016:14:19:40 +0800]  "GET /captcha HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=9D2FE299B5042B989382AA82B56A8506"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=7|9|16|27|37|&keyString=xmtwb2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288831 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
183.207.217.213 - [14/Nov/2016:14:19:40 +0800]  "GET /vote?captcha=UUFSBD&voteString=5|7|29|37|39|&keyString=xmtwx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104288992 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
183.207.217.213 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=UUFSBD&voteString=3|6|10|13|23|&keyString=xmtgx2016&jsoncallback=jQuery180009671276737935841_1479103609944&_=1479104289087 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=D87A6A561C05BF969F4FF425605A2A1E"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 503 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"
222.219.53.119 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=ech568&voteString=25|26|30|31|32|&keyString=xmtwb2016&jsoncallback=jQuery180011070688814614982_1479104232505&_=1479104297802 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=8C09C2378073EF08B7EB09946932A516"
60.31.197.14 - [14/Nov/2016:14:19:41 +0800]  "GET /captcha?0.9926116424744409 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=DB00034D5EC927BE007CE54F3D67587D"
221.1.204.218 - [14/Nov/2016:14:19:41 +0800]  "GET /vote?captcha=2RNBVC&voteString=14|14|3|1|14|4|14|13|14|&keyString=xmtwx2016&jsoncallback=jQuery18008265754313951313_1479103527546&_=1479103570861 HTTP/1.1"  - 200 "User_Cookie:JSESSIONID=EF33AF20138880201DFA0AB1C756F743"

access.log

程序目录结构:

html目录(最终生成的数据页面,也是网页的初始样式):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>日志分析</title>
    <meta http-equiv="Refresh" Content="5"/>
    <style>
        body{
            margin: 0 auto;
            background-color: #797878;
        }
        div{
            width: 60%;
            margin: auto;
            /*border: 1px solid black;*/
            border-radius:5px
        }
        table{
            width: 100%;
            text-align: center;
            background-color:#dddddd
        }
        .table_top{
            width: 100%;
            background-color: #2459a2;
            color: white;
            font-weight: bold;
        }

    </style>
</head>
<body>
    <div>
    </div>
    <div style="height: 1000px; "></div>
</body>
</html>

index.html

main目录(程序启动接口):

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#-Author-Lian

import time,datetime
import re

LOG_PATH="/data/nginx/logs/access.log"    #日志文件
HTML_PATH="../html/index.html"      #生成数据html文件
TABLE_TMP="../template/table_tmp"       #表格框架格式
TIMES_PRE=300       #刷新频率 单位秒

def handle():
    date_time = datetime.datetime.now()
    current_date = str(date_time).split(" ")[0]         #获取当前日期 年-月-日
    create_table(current_date)                      #创建信息表单

    last_site = 0          #上一次文件读到的位置
    while True:
        page_view = 0             #页面访问量
        succed_visit = 0          # 200状态码
        reject_visit = 0             # 被拒绝的访问503状态码
        unique_ip = set([])          # 独立IP
        unique_visitor= set([])       # 独立访客

        date_time = datetime.datetime.now()  # 生成时间日期
        date = str(date_time).split(" ")[0]  # 截取当前日期 年-月-日
        if date != current_date:  # 如果第二天,光标位置重新设置到文件首部
            current_date = date     # 更新current_date 值
            last_site = 0
            create_table(current_date)  # 创建信息表单

        current_time = str(date_time).split(".")[0]  # 日期 年-月-日-时-分-秒

        with open(LOG_PATH,"r") as file:
            print("---------",current_date,last_site)
            file.seek(last_site)
            logs = file.readlines()
            last_site = file.tell()          # 更新光标位置
            for line in logs:
                page_view += 1                       # 页面访问量+1
                obj_sd=re.search("- 200",line)      # 匹配200状态码+1
                if obj_sd:
                    succed_visit +=1
                obj_rt = re.search("- 503", line)   # 匹配503状态码+1
                if obj_rt:
                    reject_visit +=1

                obj_ip = re.match("\d+\.\d+\.\d+\.\d+",line)    # 匹配独立IP
                unique_ip.add(obj_ip.group())        # 添加集合,自动去重

                obj_uv = re.search("User_Cookie:...*", line)  # 匹配独立访客
                if obj_uv:                                     # 去空
                    unique_visitor.add(obj_uv.group())  # 添加集合,自动去重

            upload_data(current_time,page_view,succed_visit,reject_visit,len(unique_ip),len(unique_visitor))           #html文件内添加统计数据
            time.sleep(TIMES_PRE)

def upload_data(current_time,page_view,succed_visit,reject_visit,unique_ip,unique_visitor):
    with open(HTML_PATH, "r+",encoding="utf-8") as file:
        list = file.readlines()

        list.insert(-6,"<tr>\n")
        list.insert(-6, "<td>%s</td>\n"%current_time)     #时间
        list.insert(-6, "<td>%s</td>\n"%page_view)                   #页面访问量
        list.insert(-6, "<td>%s</td>\n" % succed_visit)  # 200访问
        list.insert(-6, "<td>%s</td>\n" % reject_visit)  # 503访问
        list.insert(-6, "<td>%s</td>\n" % unique_ip)    # 独立IP数
        list.insert(-6, "<td>%s</td>\n" % unique_visitor)  # 独立访客数
        list.insert(-6,"</tr>\n")

        file.seek(0)            #文件清空
        file.truncate(0)
        for line in list:       #新数据写入文件
            file.write(line)

def create_table(current_date):                           #创建信息表单
    with open(HTML_PATH, "r+", encoding="utf-8") as file:
        list = file.readlines()

        with open(TABLE_TMP, "r", encoding="utf-8") as table_tmp:
            for line in table_tmp:
                if "日期" in line:
                    line = line.replace("日期","日期:%s"%current_date)
                list.insert(-4, line)  # 创建新的表单

        file.seek(0)            #文件清空
        file.truncate(0)
        for line in list:       #新数据写入文件
            file.write(line)

if __name__ == ‘__main__‘:
    handle()

start.py

template(表格模板):

<table border="1">
    <thead>
    <tr>
        <td class="table_top" colspan="6" >日期</td>
    </tr>
    <tr>
        <td style="width: 25%">时间</td>
        <td style="width: 15%">页面浏览量</td>
        <td style="width: 15%">200状态码</td>
        <td style="width: 15%">503状态码</td>
        <td style="width: 15%">独立IP数</td>
        <td style="width: 15%">独立访客数</td>
    </tr>
    </thead>
    <tbody>
    </tbody>
</table>

table_tmp

注:table_tmp最后一行一定要一换行符

最终效果图:

总结:

整个程序可以针对不同的日志类型进行增加删减,程序也可以作为以后开发监控系统其中网站监测的一个模块

完整程序代码-》》https://coding.net/u/James_Lian/p/LogAnalysis/git/tree/master/

时间: 2024-10-26 17:48:45

Python开发程序:生成环境下统计网站访问日志信息的相关文章

windows环境下搭建网站

windows环境下搭建网站 IIS服务的安装 1.打开"控制面板" - "程序" - "启动或关闭Windows功能 IIS配置 1.WIN + X - "计算机管理" 2.新建网站 完成以上设置之后,尝试在自己的电脑上浏览(假设我以上端口号设置为81,即在浏览器输入localhost:81 或者127.0.0.1:81或者输入自己当前网卡的IP地址+端口号81) 或者输入目前电脑的IP地址(局域网地址) cmd - ipconfig

python MySQLdb在windows环境下的快速安装

python MySQLdb在windows环境下的快速安装.问题解决方式 使用python访问mysql,需要一系列安装 linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.net/wklken/article/details/7271019 ------------------------------------------------------------- 以下是windows环境下的: 1.      安装数据库m

JSP:用隐式对象统计网站访问次数

JSP:用隐式对象统计网站访问次数 jsp 隐式对象 赵振江 隐式对象 application对象 利用隐式对象为某一网站编写一个JSP程序,统计该网站的访问次数. 一种情况是:按照客户进行统计(按照浏览器进行统计,一个浏览器如果访问网站的话,就算一次访问,换句话说如果这个浏览器刷新多次网站的话,也算是一次访问): 另一种情况:刷新一次页面,就算是一次访问. 要求用隐式对象去实现. counter.jsp <%@ page language="java" import="

统计网站访问人数

添加一个Global.asax文件,加入以下代码: void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 int count = 0; System.IO.StreamReader srd; string file_path = Server.MapPath("counter.txt"); //打开文件进行读取 srd = System.IO.File.OpenText(file_path); whi

统计网站访问人数示例

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <html> <head> <title>统计网站访问人数页面</title> </head> <body> <%!Integer yourNumber=new Integer(0); %> <%if(sess

Python开发程序:选课系统-改良版

程序名称: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. 课程包含,周期,价格,通过学校创建课程 4. 通过学校创建班级, 班级关联课程.讲师5. 创建学员时,选择学校,关联班级6. 创建讲师角色时要关联学校, 7. 提供两个角色接口8. 学员视图, 可以注册, 交学费, 选择班级,9. 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员

python MySQLdb在windows环境下的快速安装、问题解决方式

使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.net/wklken/article/details/7271019 ------------------------------------------------------------- 以下是windows环境下的: 1.      安装数据库mysql 下载地址:http://www.mysql.com/downloa

[原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭建好,但是python也有好的就是在linux环境下特别的简单方便,只是windows下麻烦点啦!但是只要大家去努力不要放弃,还是能成功的:最为windows环境的我,为了python搭建环境我也会各种百度谷歌找了很多博文以及其他文章,苦恼! 注释:其实也很简单,只是大家刚开始接触,还不太明白而已,

python 在内网windows环境下pip三方包

我没用过Linux环境. 一般情况下,内网安装三方包,只需要在pypi找到对应python版本(2.7,3.6,...),系统位数(32位,64位)的whl包,cmd命令行cd进入相关目录,pip install whl名字.whl,安装就能成功.注意whl文件不能改名字. 但是,内网环境的python版本.系统位数和外网不一样,有时候三方包能够pip安装,但是找不到对应的whl包,那怎么办? 我外网环境是3.7 win10 64位,内网 3.6 win7 32位.anaconda在内网安装失败