mirror of
https://github.com/wu736139669/RN_AWord.git
synced 2026-08-05 06:24:39 +00:00
增加服务端
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
var express = require('express');
|
||||
var url = require('url'); //解析操作url
|
||||
var superagent = require('superagent'); //这三个外部依赖不要忘记npm install
|
||||
var cheerio = require('cheerio');
|
||||
var eventproxy = require('eventproxy');
|
||||
var iconv = require('iconv-lite');
|
||||
var BufferHelper = require('bufferhelper'); //关于Buffer我后面细说
|
||||
var moment = require('moment');
|
||||
var targetUrl = 'http://qianming001.sinaapp.com/qm/date/';
|
||||
var router = express.Router();
|
||||
|
||||
/* GET users listing. */
|
||||
router.get('/', function(req, res, next) {
|
||||
res.send('respond with a resource');
|
||||
});
|
||||
|
||||
router.get('/list',function(req, res, next){
|
||||
|
||||
var page = req.query.page;
|
||||
var dateFromPage = moment().subtract(page, 'days');
|
||||
var day = moment(dateFromPage);
|
||||
|
||||
console.log(page);
|
||||
console.log(day.format('YYYY/MM/DD'));
|
||||
var resUrl = targetUrl;
|
||||
resUrl = targetUrl + day.format('YYYY/MM/DD');
|
||||
|
||||
superagent.get(resUrl)
|
||||
.end(function (err, rest) {
|
||||
console.log(req.query);
|
||||
// console.log(rest);
|
||||
var topicUrls = [];
|
||||
var $ = cheerio.load(rest.text);
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取首页所有的链接
|
||||
$('div .entry-content').each(function (idx, element) {
|
||||
|
||||
var $element = $(element);
|
||||
var postid = $element.eq(0).parent().attr('id');
|
||||
var tUrl = "";
|
||||
var title = strdecode($element.eq(0).text().trim());
|
||||
// var imageurl = strdecode($element.eq(1).attr('href'));
|
||||
// console.log(title);
|
||||
var imageUrl = strdecode($element.eq(0).children().eq(1).children().eq(0).children().attr('src'));
|
||||
// console.log(imageUrl);
|
||||
topicUrls.push({"id":postid,"title":title,"imageurl":imageUrl});
|
||||
});
|
||||
|
||||
|
||||
// var jsonText = JSON.stringify(topicUrls);
|
||||
console.log(JSON.stringify({'datas':topicUrls}));
|
||||
res.json({'datas':topicUrls});
|
||||
});
|
||||
});
|
||||
function strdecode(string) {
|
||||
key = md5('sfdfkj!@#!@');
|
||||
// key = "2e5633738782c3557334b7a3e1e7fc5f";
|
||||
var b = new Buffer(string, 'base64')
|
||||
string = b.toString();
|
||||
len = key.length;
|
||||
code = '';
|
||||
for (i = 0; i < string.length; i++) {
|
||||
k = i % len;
|
||||
code += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(k))
|
||||
};
|
||||
|
||||
var b = new Buffer(code, 'base64')
|
||||
code = b.toString();
|
||||
return code;
|
||||
}
|
||||
|
||||
function md5(data) {
|
||||
var Buffer = require("buffer").Buffer;
|
||||
var buf = new Buffer(data);
|
||||
var str = buf.toString("binary");
|
||||
var crypto = require("crypto");
|
||||
return crypto.createHash("md5").update(str).digest("hex");
|
||||
}
|
||||
|
||||
module.exports = router;
|
||||
Reference in New Issue
Block a user