import json import requests from db import * from bottle import request,response,run,get,post,template,view,static_file,redirect,default_app @post('/fc_test') def fc_test(): q=request.forms.get('q') if not q: return url="https://www.sogou.com/labs/webservice/sogou_word_seg.php" r=requests.post(url,{'q':q.decode('utf8'),'fmt':'js'}) print q.decode('utf8') print r.text if not r.text: return u'没有获取到数据' j=json.loads(r.text) r='' if j['status']=='OK': #print j['input'] for i in j['result']: r+=i[0]+'|'+i[1]+' ' else: print 'status error' print j return r @post('/turing') def do_turing(): #图灵机器人接口 可以自己注册key,目前作者的是5000条/天 #http://www.tuling123.com/openapi/record.do?channel=338 q=request.forms.get('q') payload={'key':'9e01d5c29994c579040270b557a99295','info':q} url="http://www.tuling123.com/openapi/api" r=requests.post(url,params=payload) return json.loads(r.text)['text'] @get('/jquery.js') @view('jquery-2.0.0.min.js') def jquery(): return @post('/mybot') def do_mybot(): #这里添加自己的机器人处理 q=request.forms.get('q') if q: url="https://www.sogou.com/labs/webservice/sogou_word_seg.php" r=requests.post(url,{'q':q.decode('utf8'),'fmt':'js'}) if not r.text: return {'code':1,'msg':u'分词器异常'} qfc=json.loads(r.text) h={} if qfc['status']=='OK': for i in qfc['result']: r=db().get1( """SELECT t2.cy, t2.cx, t1.qz FROM wb_ck AS t3 CROSS JOIN wb_gx AS t1 ON t3.id = t1.cid OR t1.kid = t3.id CROSS JOIN wb_ck AS t2 ON t1.cid = t2.id OR t2.id = t1.kid WHERE t3.cy = %s ORDER BY t1.qz DESC""",i[0]) if r: h[r[1]]=r[0] if not h: #return {'code':1,'msg':u'数据获取异常'} return u'呃,不知道你在说什么' g='rdvn' s='' for gg in g: if h.has_key(gg): s+=h[gg] else: if gg in 'rdvn': r=db().get1( """SELECT wb_ck.cy, RAND() AS r FROM wb_ck WHERE wb_ck.cx = %s ORDER BY r LIMIT 1""",gg) s+=r[0] return s else: return {'code':1,'msg':u'分词接口无有效数据'} return {'code':1,'msg':u'无输入值'} @get('/admin') @view('admin') def admin(): return @post('/admin') def do_admin(): #机器人后台调教 q=request.forms.get('q') a=request.forms.get('a') if q and a: url="https://www.sogou.com/labs/webservice/sogou_word_seg.php" r=requests.post(url,{'q':q.decode('utf8'),'fmt':'js'}) if not r.text: return {'code':1,'msg':u'分词器1异常'} qfc=json.loads(r.text) r=requests.post(url,{'q':a.decode('utf8'),'fmt':'js'}) if not r.text: return {'code':1,'msg':u'分词器2异常'} afc=json.loads(r.text) h={} if qfc['status']=='OK': for i in qfc['result']: h[i[1]]=i[0] db().set("INSERT IGNORE INTO `wb_ck` (`cy`, `cx`) VALUES (%s, %s)",(i[0],i[1])) if afc['status']=='OK': for i in afc['result']: if h.has_key(i[1]): db().set("INSERT IGNORE INTO `wb_ck` (`cy`, `cx`) VALUES (%s, %s)",(i[0],i[1])) s1=db().get1("SELECT `id` FROM `wb_ck` WHERE `cy` = %s LIMIT 1",h[i[1]])[0] s2=db().get1("SELECT `id` FROM `wb_ck` WHERE `cy` = %s LIMIT 1",i[0])[0] db().set("INSERT IGNORE INTO `wb_gx` (`cid`, `kid`) VALUES (%s, %s)",(s1,s2)) db().set("UPDATE `wb_gx` SET `qz`=`qz`+1 WHERE (`cid`=%s)",s1) return {'code':0} return {'code':1,'msg':u'执行操作失败!'} run(host='0.0.0.0', port=8080,debug=True) application=default_app()