《周公解梦》是靠人的梦来卜吉凶的一本于民间流传的解梦书籍,共有七类梦境的解述。这是很是传统的中国文化体系的一部分,可是如何用代码来获取并搜索周公解梦的数据呢?通常状况下,要经过爬虫获取数据,而后再进行索引搜索,这个过程是十分复杂的,要熟练不少技术而且花很多时间开发,因此最好的方法仍是直接调用接口完成,笔者以python为例,来实现这个功能:node
# -*- 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的实现方式:python
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();