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

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

原文地址:https://www.cnblogs.com/huangxie/p/11640702.html

时间: 2024-10-10 05:05:43

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

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

http://blog.csdn.net/dengyaolongacmblog/article/details/39208675 1 #!/usr/bin/env python 2 # coding: utf-8 3 4 import os 5 import sys 6 import string 7 import operator 8 import re 9 10 def josephus(n,k): 11 link=range(1,n+1) 12 ind=0 13 for loop_i in

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

10 行 Python 代码实现模糊查询/智能提示 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择. 样例如下: Vim (Ctrl-P) Sublime Text (Cmd-P) '模糊匹配'这是一个极为有用的特性,同时也非常易于实现. 2.问题分析: 我们有一堆字符串(文件名)集合,我们根据用户的输入不断进行过滤,用户的输入可能是字符串的一部分.我们就以下面的

10行python代码实现约瑟夫问题

什么是约瑟夫问题? 约瑟夫问题是一个有趣的数学游戏,游戏规则如下: 1.N个人围成一个圈,编号从1开始,依次到N. 2.编号为M的游戏参与者开始报数,报数从1开始,后面的人报数接龙,直到K为止,报数为K的人将出局. 3.出局者的下一个玩家接着从1开始报数,如此循环,直到剩下一个玩家时游戏结束,这个玩家就是游戏获胜者. 那么问题来了,哪个编号是游戏获胜者呢? 下面通过简单的几行python代码来解决这个问题: #!/usr/bin/env python # Joseph Problem def j

【火炉炼AI】深度学习005-简单几行Keras代码解决二分类问题

[火炉炼AI]深度学习005-简单几行Keras代码解决二分类问题 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2, Keras 2.1.6, Tensorflow 1.9.0) 很多文章和教材都是用MNIST数据集作为深度学习届的"Hello World"程序,但是这个数据集有一个很大的特点:它是一个典型的多分类问题(一共有10个分类),在我们刚刚开始接触深度学习时,我倒是觉得

10 行Python 代码,实现 AI 目标检测技术,真给力!

只需10行Python代码,我们就能实现计算机视觉中目标检测. from imageai.Detection import ObjectDetection import os execution_path = os.getcwd() detector = ObjectDetection() detector.setModelTypeAsRetinaNet() detector.setModelPath( os.path.join(execution_path , "resnet50_coco_b

200行Python代码实现2048

200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令 GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器 3. 环境使用 使用GVim编辑器输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操

基于Tkinter用50行Python代码实现简易计算器

Tkinter一般是python自带的,所以代码不需要其他组件,本程序是在python2.7版本实现的. 主要涉及了tkinter的使用,函数定义和调用,匿名函数的使用,类成员函数定义等python基础知识,适合新手学习. 代码如下: from Tkinter import * #创建横条型框架 def frame(root, side): w = Frame(root) w.pack(side = side, expand = YES, fill = BOTH) return w #创建按钮

一起来写2048(160行python代码)

前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到2048,两周后决赛再次遇到2048,后来五月份的广东省赛,又出现了2048.在这三次比赛过程中,我一次2048都没玩过..全靠队友的解释,直到昨天,我突然想起写个2048吧,于是下了个2048玩了几盘,之后就開始用python来写了,心想就不写界面了,为了简洁. 我对python并不熟悉,可是我在之前

vim中注释多行python代码

在vim中注释多行python代码比较麻烦,主要由以下几种方法: (1)将需要注释的代码以文档字符串的形式呈现 (2)将需要注释的代码以函数的形式呈现 (3)使用vim自身快捷键 我们主要使用第三种方式,下面是注释和取消注释的方法. 1.多行注释: 1. 首先按esc进入命令行模式下,按下Ctrl + v,进入列(也叫区块)模式; 2. 在行首使用上下键选择需要注释的多行; 3. 按下键盘(大写)"I"键,进入插入模式: 4. 然后输入注释符("//"."