《周公解夢》是靠人的夢來卜吉兇的一本於民間流傳的解夢書籍,共有七類夢境的解述。這是很是傳統的中國文化體系的一部分,可是如何用代碼來獲取並搜索周公解夢的數據呢?通常狀況下,要經過爬蟲獲取數據,而後再進行索引搜索,這個過程是十分複雜的,要熟練不少技術而且花很多時間開發,因此最好的方法仍是直接調用接口完成,筆者以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();