本代码实现对163k地方门户网站系统发布信息的自动审核,以及对内容中链接全过滤
软件安装
Python 安装
http://www.python.org/download/
pymssql安装
https://code.google.com/p/pymssql/downloads/list
两者版本要对应。
程序代码
kill.py
#coding=utf8
#!/usr/bin/env python
# 网站自动审核系统
import pymssql
import re
import sys
import datetime
DB_HOSTNAME = r'127.0.0.1:1433'
DB_USERNAME = 'username'
DB_PASSWORD = 'password'
DB_DATABASE = 'menhu_163k'
reload(sys)
sys.setdefaultencoding('utf-8')
#*******Connection MSSQL *************
stat = False
try:
ms_conn = pymssql.connect(host=DB_HOSTNAME, user=DB_USERNAME, password=DB_PASSWORD, database=DB_DATABASE, charset="UTF-8")
cur = ms_conn.cursor()
cur2 = ms_conn.cursor()
stat = True
except:
print 'Could nont connect to DB server.'
def content_filter(content):
content = row[1]
re_a_qs = re.compile('<[aA][^>]*>')
content = re_a_qs.sub('', content)
re_a_js = re.compile('</[aA]>')
content = re_a_js.sub('', content)
return content
if stat:
str_log = ''
# 信息模块内容审核
strSQL = "SELECT detailsid, chrmark FROM mh163k_live WHERE iskill=0"
cur.execute(strSQL)
rowcount = 0
for row in cur:
rowcount += 1
detailsid = str(row[0])
chrmark = content_filter(row[1])
#print row
strSQL = "UPDATE mh163k_live SET chrmark='" + chrmark + "', iskill=1 WHERE detailsid=" + str(detailsid)
#print strSQL
cur2.execute(strSQL)
ms_conn.commit()
if rowcount:
str_log += str(datetime.datetime.now().strftime('%Y-%m,-%d %H:%M:%S')) + ': 信息模块审核' + str(rowcount) + "条\n"
# 出租出售内容审核
strSQL = "SELECT id, chrmark FROM mh163k_house_chuzhu WHERE iskill=0"
cur.execute(strSQL)
rowcount = 0
for row in cur:
rowcount += 1
detailsid = str(row[0])
chrmark = content_filter(row[1])
#print row
strSQL = "UPDATE mh163k_house_chuzhu SET chrmark='" + chrmark + "', iskill=1 WHERE id=" + str(detailsid)
#print strSQL
cur2.execute(strSQL)
ms_conn.commit()
if rowcount:
str_log += str(datetime.datetime.now().strftime('%Y-%m,-%d %H:%M:%S')) + ': 出租出售审核' + str(rowcount) + "条\n"
#房产中介 内容审核
strSQL = "SELECT maniddd FROM mh163k_house_zhongjie WHERE iskill=0"
cur.execute(strSQL)
rowcount = 0
for row in cur:
rowcount += 1
row_id = str(row[0])
#print row
strSQL = "UPDATE mh163k_house_chuzhu SET iskill=1 WHERE manid=" + str(row_id)
#print strSQL
cur2.execute(strSQL)
ms_conn.commit()
if rowcount:
str_log += str(datetime.datetime.now().strftime('%Y-%m,-%d %H:%M:%S')) + ': 房产中介审核' + str(rowcount) + "条\n"
# 便民信息 内容审核
strSQL = "SELECT detailsid, chrcode FROM mh163k_live WHERE iskill=0"
cur.execute(strSQL)
rowcount = 0
for row in cur:
rowcount += 1
row_id = str(row[0])
content = content_filter(row[1])
#print row
strSQL = "UPDATE mh163k_live SET chrcode='" + content + "', iskill=1 WHERE detailsid=" + str(row_id)
#print strSQL
cur2.execute(strSQL)
ms_conn.commit()
if rowcount:
str_log += str(datetime.datetime.now().strftime('%Y-%m,-%d %H:%M:%S')) + ': 便民信息审核' + str(rowcount) + "条\n"
print str_log
ms_conn.close()
f = open("./kill_log.txt", "a+")
f.write(str_log)
f.close
#print '写入日志成功'
print '审核完成'
kill.bat
CD C:\Python27
C:
python D:\python\kill.py
添加Windows计划任务
设成为每10分钟运行一次