Node Crawler的目標是成爲最好的node.js爬蟲工具,目前已經中止維護。html
咱們來抓取光合新知博客tech欄目中的文章信息。
訪問http://dev.guanghe.tv/category/tech/
,右鍵查看頁面源代碼,能夠看到文章信息等內容,以下所示:node
1
2
3
4
5
6
7
8
9
10
11
|
<ul class="posts">
<li>
<span class="post-date">Dec 31, 2015</span>
<a class="post-link" href="/2015/12/Getting-Started-With-React-And-JSX.html">React和JSX入門指導</a>
</li>
<li>
<span class="post-date">Dec 30, 2015</span>
<a class="post-link" href="/2015/12/ReactJS-For-Stupid-People.html">React 懶人教程</a>
</li>
</ul>
|
由於每篇文章都是一個<li>
標籤,因此咱們從頁面代碼的全部<li>
中獲取文章的發佈時間、連接和標題。git
爬蟲代碼:github
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
var Crawler = require('crawler');
var crawler = new Crawler({
maxConnections: 10,
callback: function(err, result, $) {
$('li').each(function(index, li) {
console.log(index + ' :');
console.log('time:' + $(li).children(0).text());
console.log('url:' + result.uri + $(li).children(1).attr('href'));
console.log('title:' + $(li).children(1).text());
});
}
});
crawler.queue('http://dev.guanghe.tv/category/tech/');
|
npm install
安裝crawler模塊,node app.js
運行程序。
你將會得到以下內容(僅展現部份內容):npm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
0 :
time:Dec 31, 2015
url:http://dev.guanghe.tv/category/tech//2015/12/Getting-Started-With-React-And-JSX.html
title:React和JSX入門指導
1 :
time:Dec 30, 2015
url:http://dev.guanghe.tv/category/tech//2015/12/ReactJS-For-Stupid-People.html
title:React 懶人教程
2 :
time:Dec 24, 2015
url:http://dev.guanghe.tv/category/tech//2015/12/iOSCustomProblem.html
title:iOS開發常見問題
3 :
time:Dec 17, 2015
url:http://dev.guanghe.tv/category/tech//2015/12/iOSXcodeDebug.html
title:Xcode Debug技巧
|