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

  1. # -*- coding: utf-8 -*-
  2. # flake8: noqa
  3. __author__ = 'wukong'
  4.  
  5. import urllib
  6. from urllib import urlencode
  7.  
  8. #配置您申请的appKey和openId
  9. app_key="***"
  10. open_id="***"
  11.  
  12. """
  13. request_url 请求地址
  14. params 请求参数
  15. method 请求方法
  16.  
  17. """
  18. def request_content(request_url,params,method):
  19. params = urlencode(params)
  20.  
  21. if method and method.lower() =="get":
  22. f = urllib.urlopen("%s?%s" % (request_url, params))
  23. else:
  24. f = urllib.urlopen(request_url, params)
  25.  
  26. content = f.read()
  27. print content
  28.  
  29. def main():
  30.  
  31. domain="http://api.xiaocongjisuan.com/"
  32. servlet="data/relativeword/mining"
  33. method="get"
  34. request_url=domain+servlet
  35.  
  36. #字典
  37. params ={}
  38. params["appKey"]=app_key
  39. params["openId"]=open_id
  40.  
  41. #变动部分
  42. params["keyword"]="学前教育"
  43. params["degree"]=1
  44. params["upLimit"]=20
  45. params["tSort"]="down"
  46.  
  47. request_content(request_url,params,method)
  48.  
  49. if __name__ == '__main__':
  50. main()

当然也可以用nodejs来实现

  1. var http = require('http');
  2. var qs = require('querystring');
  3.  
  4. //配置您申请的appKey和openId
  5. app_key = "***";
  6. open_id = "***";
  7.  
  8. function request_content(request_url,port,params,method){
  9.  
  10. var path=request_url;
  11. if(!!params){
  12. var content = qs.stringify(params);
  13. path=request_url+'?' + content;
  14. }
  15.  
  16. var options = {
  17. port: port,
  18. path: path,
  19. method: method
  20. };
  21.  
  22. if(method.toLowerCase()=='post'){
  23. options['headers']="Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8";
  24. }
  25.  
  26. var req = http.request(options, function (res) {
  27. res.setEncoding('utf8');
  28. res.on('data', function (chunk) {
  29. console.log(chunk);
  30. });
  31. });
  32.  
  33. req.on('error', function (e) {
  34. console.log('problem with request: ' + e.message);
  35. });
  36.  
  37. req.end();
  38. }
  39.  
  40. function main(){
  41.  
  42. var domain="http://api.xiaocongjisuan.com/";
  43. var port=8080;//http对应80端口,https 对应443端口,请使用者自己改正
  44. var servlet="data/relativeword/mining";
  45. var method="get";
  46. var request_url=domain+servlet;
  47.  
  48. var params = {};
  49. params['appKey']=app_key;
  50. params['openId']=open_id;
  51.  
  52. //变动部分
  53. params["keyword"]="学前教育";
  54. params["degree"]=1;
  55. params["upLimit"]=20;
  56. params["tSort"]="down";
  57.  
  58. request_content(request_url,port,params,method);
  59. }
  60.  
  61. main();

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

几行python代码解决相关词联想的更多相关文章

  1. 10行Python代码解决约瑟夫环(模拟)

    http://blog.csdn.net/dengyaolongacmblog/article/details/39208675 #!/usr/bin/env python # coding: utf ...

  2. 一个 11 行 Python 代码实现的神经网络

    一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...

  3. 21行python代码实现拼写检查器

    引入 大家在使用谷歌或者百度搜索时,输入搜索内容时,谷歌总是能提供很好的拼写检查,比方你输入 speling,谷歌会立即返回 spelling. 前几天,看到http://norvig.com/spe ...

  4. 10 行 Python 代码实现模糊查询/智能提示

    10 行 Python 代码实现模糊查询/智能提示   1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的 ...

  5. 200行Python代码实现2048

    200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...

  6. 40多行python代码开发一个区块链。

    40多行python代码开发一个区块链?可信吗?我们将通过Python 2动手开发实现一个迷你区块链来帮你真正理解区块链技术的核心原理.python开发区块链的源代码保存在Github. 尽管有人认为 ...

  7. 15行python代码,帮你理解令牌桶算法

    本文转载自: http://www.tuicool.com/articles/aEBNRnU   在网络中传输数据时,为了防止网络拥塞,需限制流出网络的流量,使流量以比较均匀的速度向外发送,令牌桶算法 ...

  8. 30行Python代码实现人脸检测

    参考OpenCV自带的例子,30行Python代码实现人脸检测,不得不说,Python这个语言的优势太明显了,几乎把所有复杂的细节都屏蔽了,虽然效率较差,不过在调用OpenCV的模块时,因为模块都是C ...

  9. vim中凝视多行python代码

    在vim中凝视多行python代码比較麻烦,主要由下面几种方法: (1)将须要凝视的代码以文档字符串的形式呈现 (2)将须要凝视的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方 ...

随机推荐

  1. Redis Sentinel机制与用法说明

    本文来自 https://www.cnblogs.com/zhoujinyi/p/5569462.html 概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Red ...

  2. Hadoop_06_Hadoop的HDFS的概念和特性

    1.HDFS的概念和特性 1.1. 首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件 1.2. 它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色:重 ...

  3. 数据库——Oracle(4)

    1 Oracle中常用字符处理函数:用来处理char,varchar以及varchar2类型数据. 1)length(列名/字符串):统计当前该列的列值/字符串中字符的个数 select ename, ...

  4. hexo主题hexo-theme-yilia文章太长,截断按钮文字的实现

    文章太长,截断按钮文字不是通过配置文件_config.yml实现的,而是在文章内容里实现,在你想截断的文章位置加上 <!-- more --> 就可以实现了! 参考博客:hexo-them ...

  5. index首页加载数据库数据方法

    https://blog.csdn.net/qq_33198758/article/details/82987805 在做网站的时候,会遇到需要首页加载数据库数据的情况.而web.xml配置的首页: ...

  6. 08 saltstack生产实例-apahce+php+redis

    1.apache+php 前几章的LAMP:https://www.cnblogs.com/venicid/p/11276232.html#_label2 Php放在apache 1.目录结构 2.p ...

  7. hdu 6039 Gear Up

    题 OvO http://acm.hdu.edu.cn/showproblem.php?pid=6039 (2017 Multi-University Training Contest 1 1007) ...

  8. 解决telnet: connect to address 127.0.0.1: Connection refused的错误信息问题

    1.检查telnet是否已安装: rpm -qa telnet 2.有输出说明已安装,如果没有输出则没有安装,使用yum install telnet进行安装 3.检查telnet-server是否已 ...

  9. Program Transformation Semantics (程序转换语义学)

    本文是Inside The C++ Object Model Chapter 2 部分的读书笔记.讨论编译器调用拷贝构造函数时的策略(如何优化以提高效率),侯捷称之为"程序转化的语义学&qu ...

  10. monkey test——学习资料

    出处: http://www.testwo.com/blog/6107 http://www.testwo.com/blog/6146 http://www.testwo.com/blog/6188 ...