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();

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

  • 相关阅读:
    数据库周刊33丨腾讯Tbase新版本发布;“2020数据技术嘉年华”有奖话题遴选;阿里云技术面试题;APEX 实现数据库自动巡检;MYSQL OCP题库……
    常用ASCII码对照表
    linux 环境root用户新建用户和删除用户
    Utl_Raw.Cast_To_Raw(dbms_obfuscation_toolkit.md5())
    months_between()
    GREATEST(),ROUND(),
    TRUNC()
    oracle+function
    oracle存储过程----遍历游标的方法(for、fetch、while)
    oracle+seqTest
  • 原文地址:https://www.cnblogs.com/huangxie/p/11640702.html
Copyright © 2011-2022 走看看