python开发

[置顶] Aiiphp框架测试版发布,欢迎测试!

[置顶] Linux常用运维命令和linux常用管理操作命令(整理)

[置顶] Linux/Window服务器安全配置等常用软件下载列表

python脚本分析nginx日志1000条IP超过100次自动封 IP

最近有一些王八蛋,总是喜欢爬取网站内容,于是就想到利用python 脚本分析nginx日志1000条,

IP 1000次中超过100次 自动封 IP 功能,正常情况1000条记录,一般不会超过100个,当然,

你可以根据情况调整,python代码如下

#!/usr/bin/python

__author__ = 'jincon'

import os;
import string;

lines_ = os.popen("tail -n 1000 /home/www/nginx.log  |awk -F' ' '{print $1}'|sort|uniq -c|sort -n").read();
lines = lines_.split("\n");

for line in lines:
	if line != '':
		line = line.strip();
		lineArr = line.split(" ");
		if int(lineArr[0])>50:
			print lineArr[1]+"=="+lineArr[0];


print "ok";

这个代码,我没有写封 I P 的功能,封 IP,一般普通的服务器不外乎就 iptables 和 nginx 的 deny 了

iptables很简单,我就不说了。

nginx 的话,可以在 python 脚本里面把超过限制的 IP,写入到一个文件里面然后 nginx  ,include 就行了,当然你还要reload 下 nginx,注意,不要重启,没必要,只要加载配置文件即可。

最后就是加一个计划任务,譬如每隔5分钟运行一次,封特么的的。


关键词: python脚本 , nginx日志

Mac系统+MAMP中Python安装MySQLdb安装中的各种坑和解决办法

特么的,以前在linux服务器上,安装MySQLdb,其实只要 :

安装MySQLdb
pip install MySQL-python


就OK了,现在由于要在Mac系统安装,结果,各种报错啊。。报错我就不接图了,大体上有2种错误:

1、EnvironmentError: mysql_config not found

2、_mysql.c:44:10: fatal error: 'my_config.h' file not found

Mac os 安装 MySQLdb真是各种坑啊,没办法,由于要在本地开发一个小项目,不得已,也得安装啊.

google 一番之后:

Mac系统+MAMP中Python安装MySQLdb的正确安装姿势如下:

我的Mac 使用的 Mamp 的

» 阅读全文

随手记:Centos下安装python的pip的正确方法

随手记:centos下安装python的pip的正确方法,so easy

先安装  setuptools ,然后在安装 pip

yum install python-setuptools python-devel

easy_install pip
pip install virtualenv 

关键词: pip , centos

python下MySQLdb/MySQL-python模块的安装

Linux 下 MySQLdb 的安装很简单。用 pip 安装 MySQLdb 也就是一句命令:

1 pip install MySQL-python

这样就行了,如果你没安装pip,可以回头看看本 part 的关于 pip 的安装介绍,或者看看下面的文章。


    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法


在分析服务器日志的时候有用的python脚本

在分析服务器日志的时候有用的python脚本,晚上用户分析用的,

这个只是属于,当然你也可以给他搞为 写入到文件中。


#!/usr/bin/python
import re
with open("/home/wwwlogs/com_nginx.log") as f:
        for line in f:
                if re.search('POST',line) and re.search(r'128\.21\.32\.116',line) == None:
                        print line

python学习随手记:python读取JSON文件

读取JSON文件可以用JSON库,示例代码:

#coding:utf-8 import json

with open("msg.json") as jsonfile:
    json_data = json.load(jsonfile) for key in json_data:
        val = json_data[key] print key + '\t' + val

关键词: python读取json

python列出文件夹下的所有文件的4种方法

python列出文件夹下的所有文件的4种方法
#方法1:使用os.listdir
import os
for filename in os.listdir(r'c:\windows'):
    print filename
 
#方法2:使用glob模块,可以设置文件过滤
import glob
for filename in glob.glob(r'c:\windows\*.exe'):
    print filename
 

» 阅读全文

django-admin.py在win7 64位下不能创建工程、项目和执行命令的解决办法

django在创建的项目的习惯命令:django-admin.py startproject mysite,但是发觉 django-admin.py使用不了。

django-admin.py在win7 64位下不能创建工程项目,还不能执行django-admin.py命令,真是奇怪了,在单位的是32位win7系统是可以的。

更新可以看这个django-admin.py创建项目步骤

Django Web入门第一课之:Django在Win7下的安装及创建项目hello word

好了,说问题,django-admin.py在win7 64位下不能创建工程、项目和执行命令的解决办法:

windows 7 64位系统平台, python django-admin.py startproject mysite不工作,
暂时解决方法:

把django-admin.py的全路径写出来,如:
python d:\Python27\Scripts\jango-admin.py startproject mysite

» 阅读全文

关键词: django-admin不能创建工程

Total: 1412Next ›