From 30e03b4894455f0a344fc8ae00f297ffed715973 Mon Sep 17 00:00:00 2001 From: luchenqun Date: Thu, 24 Nov 2016 09:15:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E8=8E=B7=E5=8F=96=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E7=9A=84=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 --- routes/api.js | 44 ++++++-------------------------------------- 2 files changed, 6 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 5d654da..7b89412 100644 --- a/package.json +++ b/package.json @@ -7,17 +7,14 @@ }, "dependencies": { "body-parser": "~1.15.1", - "cheerio": "^0.22.0", "cookie-parser": "~1.4.3", "crypto": "0.0.3", "debug": "~2.2.0", "ejs": "~2.4.1", "express": "~4.13.4", "express-session": "^1.14.1", - "iconv-lite": "^0.4.13", "morgan": "~1.7.0", "mysql": "^2.11.1", - "request": "^2.78.0", "serve-favicon": "~2.3.0", "supervisor": "^0.11.0" } diff --git a/routes/api.js b/routes/api.js index 96b9535..72e34f6 100644 --- a/routes/api.js +++ b/routes/api.js @@ -1,11 +1,7 @@ var api = require('express').Router(); var mysql = require('mysql'); var crypto = require('crypto'); -var http = require('http'); -var https = require('https'); -var cheerio = require('cheerio'); -var request = require('request'); -var iconv = require('iconv-lite'); +var read = require('node-readability'); var db = require('../database/db.js'); api.post('/logout', function(req, res) { @@ -333,41 +329,13 @@ api.post('/addTags', function(req, res) { api.post('/getTitle', function(req, response) { var params = req.body.params; var url = params.url; - - var options = { - url: url, - encoding: null, - headers: { - 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36' - } - } - request(options, function(err, res, body) { - var title = ''; - if (!err && response.statusCode == 200) { - var charset = "utf-8"; - var arr = body.toString().match(/]*?)>/g); - if (arr) { - arr.forEach(function(val) { - var match = val.match(/charset\s*=\s*(.+)\"/); - if (match && match[1]) { - if (match[1].substr(0, 1) == '"') match[1] = match[1].substr(1); - charset = match[1].trim(); - return false; - } - }) - } - var html = iconv.decode(body, charset); - var $ = cheerio.load(html, { - decodeEntities: false - }); - title = $("title").text(); - } - - console.log(title); + read(url, function(err, article, meta) { + console.log(article.title); response.json({ - title: title || '', + title: article.title || '', }); - }) + article.close(); + }); }) function md5(str) {