在网页上以cmd行显示数据

时间:2014-01-14 16:46:29

标签: javascript cmd web-scraping cheerio

所以我正在使用Cheerio进行一些简单的网页编写。它工作得很好,输出出现在我的cmd行中。我可以从命令行获取数据并以某种方式将其放入某些JavaScript中吗?我基本上想在另一个网页上重新创建这个已删除的数据。

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

request('https://news.ycombinator.com', function (error, response, html) {
  if (!error && response.statusCode == 200) {
  var $ = cheerio.load(html);
  $('span.comhead').each(function(i, element){
      var a = $(this).prev();
      console.log(a.text());
  });
 }
});

非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

您可以将数据附加到正在加载JavaScript的页面。

<html>
<body>
<ul id="results">
</ul>
</body>
</html>

替换

console.log(a.text());

$("#results").append('<li>' + a.text() + '</li>');

根据您的评论:

我明白你的意思了。我刚刚研究了cheerio,发现你可以将我提供的html加载到变量中。

//outside of the each, declare $results
var $results = cheerio.load('<html><body><ul id="results"></ul></body></html>');
//instead of the first append I gave (above), use this
$results.append('<li>' + a.text() + '</li>');

然后您可以使用类似

的内容将生成的html输出到浏览器
res.send($results.html());