1. 程式人生 > >幾行python程式碼解決相關詞聯想

幾行python程式碼解決相關詞聯想

日常生活中經常會遇到相關詞聯想的問題,也就是說輸入一個詞彙,把相關的詞彙查詢出來,聽起來這個做法也不是太難,但如何去積累那麼多的詞彙,再用好的演算法將相關內容聯絡起來,本身還是不簡單的。筆者認為最簡單的辦法還是呼叫相關介面,省去不少麻煩,幾行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();

其他語言如何使用,可以點我檢視。好了,其實是非常簡單的,也就