日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的。笔者认为最简单的办法还是调用相关接口,省去不少麻烦,几行python代码就能搞定了。
# -*- coding: utf-8 -*- # flake8: noqa __author__ = 'wukong' import urllib from urllib import urlencode #配置您申请的appKey和openId app_key="***" open_id="***" """ request_url 请求地址 params 请求参数 method 请求方法 """ def request_content(request_url,params,method): params = urlencode(params) if method and method.lower() =="get": f = urllib.urlopen("%s?%s" % (request_url, params)) else: f = urllib.urlopen(request_url, params) content = f.read() print content def main(): domain="http://api.xiaocongjisuan.com/" servlet="data/relativeword/mining" method="get" request_url=domain+servlet #字典 params ={} params["appKey"]=app_key params["openId"]=open_id #变动部分 params["keyword"]="学前教育" params["degree"]=1 params["upLimit"]=20 params["tSort"]="down" request_content(request_url,params,method) if __name__ == '__main__': main()
当然也可以用nodejs来实现
var http = require('http'); var qs = require('querystring'); //配置您申请的appKey和openId app_key = "***"; open_id = "***"; function request_content(request_url,port,params,method){ var path=request_url; if(!!params){ var content = qs.stringify(params); path=request_url+'?' + content; } var options = { port: port, path: path, method: method }; if(method.toLowerCase()=='post'){ options['headers']="Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8"; } var req = http.request(options, function (res) { res.setEncoding('utf8'); res.on('data', function (chunk) { console.log(chunk); }); }); req.on('error', function (e) { console.log('problem with request: ' + e.message); }); req.end(); } function main(){ var domain="http://api.xiaocongjisuan.com/"; var port=8080;//http对应80端口,https 对应443端口,请使用者自己改正 var servlet="data/relativeword/mining"; var method="get"; var request_url=domain+servlet; var params = {}; params['appKey']=app_key; params['openId']=open_id; //变动部分 params["keyword"]="学前教育"; params["degree"]=1; params["upLimit"]=20; params["tSort"]="down"; request_content(request_url,port,params,method); } main();
其他语言如何使用,可以点我查看。好了,其实是非常简单的,也就不再过多赘余。