威尼斯wns.9778官网 > 计算机教程 > 威尼斯wns.9778官网:Nodejs抓取html页面内容(推荐

原标题:威尼斯wns.9778官网:Nodejs抓取html页面内容(推荐

浏览次数:83 时间:2019-08-30

废话不多说,直接给大家贴node.js抓取html页面内容的核心代码了。

这个周末,恶补了一下jade模板引擎,就为生成静态html文件,这篇文章需要知道jade以及看过我的上篇文章,我先给出他们的参考链接:

具体代码如下所示:

[js高手之路]Node.js模板引擎教程-jade速学与实战1-基本用法

var http = require("http");
var iconv = require('iconv-lite');
var option = { 
hostname: "stockdata.stock.hexun.com",
path: "/gszl/s601398.shtml"
}; 
var req = http.request(option, function(res) {
res.on("data", function(chunk) {
console.log(iconv.decode(chunk, "gbk"));
}); 
}).on("error", function(e) {
console.log(e.message);
});
req.end();

[js高手之路]Node.js模板引擎教程-jade速学与实战2-流程控制,转义与非转义

下面再看下面一种nodejs抓取网页内容

[js高手之路]Node.js模板引擎教程-jade速学与实战3-mixin

function loadPage(url) {
var http = require('http');
var pm = new Promise(function (resolve, reject) {
http.get(url, function (res) {
var html = '';
res.on('data', function (d) {
html  = d.toString()
});
res.on('end', function () {
resolve(html);
});
}).on('error', function (e) {
reject(e)
});
});
return pm;
}
loadPage('http://www.baidu.com').then(function (d) {
console.log(d);
}); 

[js高手之路]Node.js模板引擎教程-jade速学与实战4-模板引用,继承,插件使用

您可能感兴趣的文章:

[js高手之路]Node.js实现简易的爬虫-抓取博客所有文章列表信息

在上面分享的这篇文章中,我抓取了博客的所有文章列表. 并没有采集入库,也没有做别的处理。这篇文章,我们就把上文中采集到的所有文章列表的信息整理一下,开始采集文章并且生成静态html文件了.先看下我的采集效果,我的博客目前77篇文章,1分钟不到就全部采集生成完毕了,这里我截了部分的图片,文件名用文章的id生成的,生成的文章,我写了一个简单的静态模板,所有的文章都是根据这个模板生成的.

项目结构:

威尼斯wns.9778官网 1

 

威尼斯wns.9778官网 2

 

威尼斯wns.9778官网 3

 好了,接下来,我们就来讲解下,这篇文章主要实现的功能:

1,抓取文章,主要抓取文章的标题,内容,超链接,文章id(用于生成静态html文件)

2,根据jade模板生成html文件

一、抓取文章如何实现?

非常简单,跟上文威尼斯wns.9778官网,抓取文章列表的实现差不多

 1 function crawlerArc( url ){
 2     var html = '';
 3     var str = '';
 4     var arcDetail = {};
 5     http.get(url, function (res) {
 6         res.on('data', function (chunk) {
 7             html  = chunk;
 8         });
 9         res.on('end', function () {
10             arcDetail = filterArticle( html );
11             str = jade.renderFile('./views/layout.jade', arcDetail );
12             fs.writeFile( './html/'   arcDetail['id']   '.html', str, function( err ){
13                 if( err ) {
14                     console.log( err );
15                 }
16                 console.log( 'success:'   url );
17                 if ( aUrl.length ) crawlerArc( aUrl.shift() );
18             } );
19         });
20     });
21 }

本文由威尼斯wns.9778官网发布于计算机教程,转载请注明出处:威尼斯wns.9778官网:Nodejs抓取html页面内容(推荐

关键词:

上一篇:PHP中文URL编解码(urlencode()rawurlencode()

下一篇:没有了