标签:blog http io ar os 使用 sp java strong
配置:
//$ npm install express --registry=https://registry.npm.taobao.org //指定 registry的情况
例子代码:
var express = require(‘express‘); //返回一个 express 实例 var app = express(); //app 本身有很多方法,其中包括最常用的 get、post、put/patch、delete //req中包含了浏览器传来的各种信息,比如 query,body,headers; //res一般不从里面取信息,而是来定制向浏览器输出的信息,比如 header 信息,想要向浏览器输出的内容。 //这里我们调用了它的 #send 方法,向浏览器输出。 app.get(‘/‘, function (req, res) { // req.query 中取出我们的 q 参数: 如localhost:3000?q=jinks // req.body 获得post 传来的 body 数据需要引入 body-parser 这个中间件 var q = req.query.q; // 调用 utility.md5 方法,得到md5值 var md5Value = utility.md5(q); res.send(md5Value); }); app.listen(3000, function () { console.log(‘app is listening to port 3000‘); });
// MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式
//上面的例子如果取不到q,则会抛错;
端口:
简单的爬虫功能:
// superagent: 抓取网页,是个 http 方面的库,可以发起 get 或 post 请求。
// cheerio: 分析网页,可以理解成一个 Node.js 版的 jquery,用来从网页中以 css selector 取数据,使用方式跟 jquery 一样一样的。
例子代码:
app.get(‘/‘, function (req, res, next) { // 用 superagent 去抓取 https://cnodejs.org/ 的内容 superagent.get(‘https://cnodejs.org/‘) .end(function (err, sres) { //由于前面已经定义了res,这里改为sres // 常规的错误处理 if(err) { return next(err) } // sres.text 里面存储着网页的 html 内容,将它传给 cheerio.load 之后 // 就可以得到一个实现了 jquery 接口的变量,我们习惯性地将它命名为 `$` var $ = cheerio.load(sres.text); var items = []; //节点为网页的节点 $(‘#topic_list .topic_title‘).each(function (index, elem) { var $elem = $(elem); items.push({ title: $elem.attr(‘title‘), href: $elem.attr(‘href‘) }); }); res.send(items); }) });
标签:blog http io ar os 使用 sp java strong
原文地址:http://www.cnblogs.com/jinkspeng/p/4134960.html