几句简单的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="life/dream/analysis"
    method="get"
    request_url=domain+servlet
    #字典
    params ={}
    params["appKey"]=app_key
    params["openId"]=open_id
    #变动部分
    params["keyword"]="女人"
    params["upLimit"]=20
    params["highligth"]=1
    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="life/dream/analysis";
	var method="get";
	var request_url=domain+servlet;
	var params = {};
	params['appKey']=app_key;
    params['openId']=open_id;
	//变动部分
    params["keyword"]="女人";
    params["upLimit"]=20;
    params["highligth"]=1;
	request_content(request_url,port,params,method);
}
main();
												
											几句简单的python代码完成周公解梦功能的更多相关文章
- bert+seq2seq 周公解梦,看AI如何解析你的梦境?【转】
		
介绍 在参与的项目和产品中,涉及到模型和算法的需求,主要以自然语言处理(NLP)和知识图谱(KG)为主.NLP涉及面太广,而聚焦在具体场景下,想要生产落地的还需要花很多功夫. 作为NLP的主要方向,情 ...
 - C# NetCore使用AngleSharp爬取周公解梦数据  起因和页面数据拆解
		
起因 最近突然心血来潮想做个小程序,学习一下小程序开发流程,然后新手就想做个查询的就可以了,少点交互能力,这种思来想去还是周公解梦比较靠谱, 网上一搜,还真有小程序源码,但是这里面似乎数据都是取第三方 ...
 - APISpace 周公解梦API接口 免费好用
		
<周公解梦>,是根据人的梦来卜吉凶的一本解梦书籍,它对人的七类梦境进行解述. 周公解梦API,周公解梦大全,周公解梦查询,免费周公解梦. APISpace 有很多免费通用的API接 ...
 - C# NetCore使用AngleSharp爬取周公解梦数据
		
这一章详细讲解编码过程 那么接下来就是码代码了,GO 新建NetCore WebApi项目 空的就可以 NuGet安装 Install-Package AngleSharp 或者界面安装 using. ...
 - 简单的python代码实现语音朗读
		
昨天女友生日,因为她一直对生日无感,所以我也就没有准备什么礼物.想起元旦前写的自动测试的脚本,添加了语音来提示测试和报告错误.灵机一动,为什么不用这个语音来庆祝她生日快乐呢?身为设计公司市场经理的她对 ...
 - 1.如何在Cloud Studio上执行Python代码?
		
1.在python文件下新建python文件,输入文件名后按Enter键生成,比如: one.py . 2.简单输入python代码: print "haha" 3.打开左下角的终 ...
 - python教程:用简单的Python编写Web应用程序
		
python现在已经成为很多程序员关注的编程语言之一,很多程序员也都开始弄python编程,并且很多时候都会用自己的操作来选择,而现在不管是程序员还是少儿编程,都会有python这门课,今天就和大家分 ...
 - 第2章 Python编程基础知识   第2.1节 简单的Python数据类型、变量赋值及输入输出
		
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
 - Golang 调用 Python 代码
		
go 中的 cgo 模块可以让 go 无缝调用 c 或者 c++ 的代码,而 python 本身就是个 c 库,自然也可以由 cgo 直接调用,前提是指定正确的编译条件,如 Python.h 头文件( ...
 
随机推荐
- idea代码爆红,clean,或者maven reimport都不起作用
			
1 突然自己的idea的Maven项目代码都是爆红,但是可以运行,添加新的代码确无法运行 尝试了clean,或者reimport,甚至是大家推荐的,刷新缓存重启也没有作用 2 检查项目的jdk配置,也 ...
 - PAT Advanced 1154 Vertex Coloring (25 分)
			
A proper vertex coloring is a labeling of the graph's vertices with colors such that no two vertices ...
 - 图像处理---《Mat对象 与 IplImage对象》
			
图像处理---<认识 Mat对象> Mat对象 与 IplImage对象 (1)Mat对象:OpenCV2.0之后引进的图像数据结构.自动分配内存.不存在内存泄漏的问题,是面向对象的数据结 ...
 - 牛客练习赛53  D 德育分博弈政治课 (思维建图,最大流)
			
牛客练习赛53 D德育分博弈政治课 链接:https://ac.nowcoder.com/acm/contest/1114/D来源:牛客网 题目描述 德育分学长最近玩起了骰子.他玩的骰子不同,他的骰子 ...
 - JAVA8初探-让方法参数具备行为能力并引入Lambda表达式
			
关于JAVA8学习的意义先来贴一下某网站上的对它的简单介绍:“Java 8可谓Java语言历史上变化最大的一个版本,其承诺要调整Java编程向着函数式风格迈进,这有助于编写出更为简洁.表达力更强,并且 ...
 - OEL7.2下Oracle11.2.0.4RAC部署
			
OEL7.2下Oracle11.2.0.4RAC部署 一. 安装步骤简述 u OEL7.2操作系统安装 u RAC 安装环境配置 u ORACLE CRS安装 u ORACLE DB软件安装 u OR ...
 - Bootstrap-轮播图-No.8
			
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
 - jQuery+masonry实现瀑布流
			
增加jQuery组件 <script src="//cdn.bootcss.com/jquery/2.2.1/jquery.min.js "></script&g ...
 - 题解  [CF961G] Partitions
			
题面 解析 首先我们观察这个定义, 可以发现每个元素在统计答案时是平等的, 也就是单个元素的权值对答案没有特别的影响. 设元素权值为\(w[i]\), 那么我们就可以知道答案是\(\sum_{i=1} ...
 - useradd/usermod/userdel/passwd/groupadd/groupmod/groupdel/gpasswd
			
用户 用户系统也是通过一个文件来管理的,默认的root用户id是0, shadow文件说明 加密算法类别 $后面的数字6指定了加密算法使用的是第六种,sha512加密 增加用户,修改成同样的密码,查看 ...