2016-07-24 2 views
1

Я пытаюсь очистить сайт, но я не могу получить результаты для записи в файл HTML.Как я могу очистить страницы с помощью Node.js

Я использовал cheerio в node.js, а мой код ниже.

var http = require('http'); 
var path = require('path'); 
var request = require('request'); 
var cheerio = require('cheerio'); 

http.createServer(function (req, res) { 
    res.write('<html><head></head><body>'); 
     request('http://www.espn.com', function(err, res, html){ 
      var $ = cheerio.load(html); 

      $('a.realStory').each(function(i, element) { 
       var node = $(this); 
       var text = node.text(); 
      res.write('<p>'+ text +'</p>');  
      }); 
     }); 

    res.end('</body></html>'); 
}).listen(1337); 

Как я могу запустить этот файл, а затем перейти к моему локальному хосту, чтобы его просмотреть?

ответ

1

Рудиментарная Реализация:

var express = require('express'), 
    path = require('path'), 
    request = require('request'), 
    cheerio = require('cheerio'), 
    app = express(); 
app.get('/', function (req, res) { 
    request('http://www.espn.com', function (e, r, html) { 
     var $ = cheerio.load(html); 
     $('a.realStory').each(function (i, element) { 
      var node = $(this); 
      var text = node.text(); 
      res.write('<p>' + text + '</p>'); 
     }); 
     res.end(); 
    }); 
}); 
app.listen(process.env.PORT || 1337, function() { 
    console.log("Server running.."); 
}); 
+0

Спасибо за этот Iceman. Я ввел код из Iceman, и он отобразит 1 строку в HTML, а затем я получаю сообщение об ошибке «Cant set headers после отправки». –

+0

@StuartConroy обновлен !!! – Iceman

+1

Отлично работает, спасибо Iceman! –

0

Если вы когда-нибудь работать в том случае, когда вам нужно интерполировать/выполнение JavaScript (одна страница приложения), то что-то вроде https://github.com/joelgriffith/navalia бы, вероятно, лучше всего подходит. Я рассматриваю возможность использования интерфейса cheerio для людей, у которых уже есть алгоритмы скрепок, написанные на узле.

Смежные вопросы