• 几句简单的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();
    
  • 相关阅读:
    从对比学习(Contrastive Learning)到对比聚类(Contrastive Clustering)
    国际学术会议英文口头报告(Oral presentation)常用语句
    物以类聚人以群分:聚类分析的一些挑战和进展
    多视图子空间聚类/表示学习(Multi-view Subspace Clustering/Representation Learning)
    关于“Unsupervised Deep Embedding for Clustering Analysis”的优化问题
    【Swift】TableView显示多列数据,锁定第一列位置
    【Swift】 WKWebView https 加载不受信任的站点
    【Swift】Starscream 实现socket连接
    【Swift】GRDB数据库本地存储聊天记录
    【Swift/Objective-c】公司项目优化(二)
  • 原文地址:https://www.cnblogs.com/huangxie/p/11660280.html
Copyright © 2020-2023  润新知