zoukankan      html  css  js  c++  java
  • 几行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();

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

  • 相关阅读:
    [java][JEECG] Maven settings.xml JEECG项目初始化 RouYi settings.xml配置
    Deepin-TIM或Deepin-QQ调整界面DPI字体大小的方法
    deepin 深度Linux系统 15.11 链接蓝牙鼠标问题
    安装vs code之后,win+e快捷键打开的是vs code,而不是文件管理器,解决方法
    【golang】使用rpcx不指定tags报错 undefined: serverplugin.ConsulRegisterPlugin
    【Python】安装MySQLdb模块centos 6.1 宝塔Linux面板 MySQL5.6
    [Nginx]配置文件详解
    linux 下终端通过证书、私钥快捷登录
    npm 更新包
    golang 无缓冲channel
  • 原文地址:https://www.cnblogs.com/huangxie/p/11640702.html
Copyright © 2011-2022 走看看