日常生活中经常会遇到相关词联想的问题,也就是说输入一个词汇,把相关的词汇查询出来,听起来这个做法也不是太难,但如何去积累那么多的词汇,再用好的算法将相关内容联系起来,本身还是不简单的。笔者认为最简单的办法还是调用相关接口,省去不少麻烦,几行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();

其他语言如何使用,可以点我查看。好了,其实是非常简单的,也就不再过多赘余。