Node.js 檔案處理 (3)

基本介紹

教學目標

透過 crawler 套件進行網頁檔案的多層分析,取出需要的資訊。(以此網站為例,取得不同標籤的所有文章。)

前置作業

  1. 完成 Node.js 套件安裝與設置。

套件安裝

1
$ npm install crawler --save

使用教學

建立

1
2
var crawler = require("crawler");
var url = require('url');

分析

首先取得所有文章標籤。

1
2
3
4
5
6
7
8
var tag_crawler = new crawler({
maxConnections : 1,
callback : function (error, result, $) {
$('.tag-list > li > a').each(function(index, data) {
article_crawler.queue("http://leoyeh.me:8080" + $(data).attr('href'));
});

}
});

接著再取得符合標籤的所有文章。

1
2
3
4
5
6
7
8
9
10
11
12
13
var article_crawler = new crawler({
maxConnections : 10,
callback : function (error, result, $) {
var article = new Array();
var tags = $('title').text().split("|")[0].replace(/ /g,"").replace("Tag:","");

console.log("\n標籤: " + tags);
$('.article-title').each(function(index, data) {
console.log("標題: " + $(data).text());
console.log("連結: " + "http://leoyeh.me:8080" + $(data).attr('href'));
});

}
});

執行

1
tag_crawler.queue('http://leoyeh.me:8080');

相關資源