Node Crawler的目标是成为最好的node.js爬虫工具,目前已经停止维护。

我们来抓取光合新知博客tech栏目中的文章信息。
访问http://dev.guanghe.tv/category/tech/,右键查看页面源代码,可以看到文章信息等内容,如下所示:

 
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>中获取文章的发布时间、链接和标题。

爬虫代码:

 
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运行程序。
你将会获得如下内容(仅展示部分内容):

 
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技巧

基于Node.js的爬虫工具 – Node Crawler的更多相关文章

  1. 一个最简单 node.js 命令行工具

    一个最简单 node.js 命令行工具 node.js cli $ node cli.js xyz # OR $ node cli xyz 接受参数 process.argv js "use ...

  2. 基于node.js制作爬虫教程

    前言:最近想学习node.js,突然在网上看到基于node的爬虫制作教程,所以简单学习了一下,把这篇文章分享给同样初学node.js的朋友. 目标:爬取 http://tweixin.yueyishu ...

  3. Node.js 网页爬虫再进阶,cheerio助力

    任务还是读取博文标题. 读取app2.js // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // cheerio模块, ...

  4. Node.js:常用工具util

    概要:本篇博客的主要内容是介绍node.js的常用工具util. 1.util.inherits util.inherits(constructor,superConstructor)是一个实现对象间 ...

  5. Node.js 命令行工具的编写

    日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...

  6. 实用的 Node.js 教程,工具和资源

    这里分享一批实用的实用的 Node.js 教程,工具和资源. Node.js是一个建立在Chrome之上的JavaScript运行时平台,可方便地构建快速,可扩展的网络应用程序.Node.js使用事件 ...

  7. 【Node.js】2.开发Node.js选择哪个IDE 开发工具呢

    安装完Node.js之后,就要为它选择一个有利的IDE用于开发. 相比较了多个IDE之后,定位在webstrom和sublime上. 有一个简单的比较: webstorm功能很丰富,前端开发工具的集大 ...

  8. node.js入门系列(一)--Node.js简介

    什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一 ...

  9. Node.js的安装以及Node.js的模块管理

    索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...

随机推荐

  1. 【POJ3565】ANTS KM算法

    [POJ3565]ANTS 题意:平面上有2*n个点,N白N黑.为每个白点找一个黑点与之连边,最后所有边不交叉.求一种方案. 题解:KM算法真是一个神奇的算法,虽然感觉KM能做的题用费用流都能做~ 本 ...

  2. 【IIS】模块 DLL C:\Windows\System32\inetsrv\authcert.dll 未能加载。返回的数据为错误信息。

    解决方案,check  IIS --Client Certificate Mapping Authentication installed?

  3. Hibernate更新数据报错:a different object with the same identifier value was already associated with the session: [com.elec.domain.ElecCommonMsg#297e35035c28c368015c28c3e6780001]

    使用hibernate更新数据时,报错 Struts has detected an unhandled exception: Messages: a different object with th ...

  4. JSTL-标准标签库

    JSTL1.2中的标签库可以分成5类区域      核心:uri="http://java.sun.com/jsp/jstl/core"  prefix=“c”      XML: ...

  5. 飘城旅游网pc,流式,响应式布局

    相关视频教程http://pan.baidu.com/s/1o77wirK 我的源码链接:http://pan.baidu.com/s/1czTsKI

  6. [iOS微博项目 - 3.5] - 封装业务

    github: https://github.com/hellovoidworld/HVWWeibo   A.封装微博业务 1.需求 把微博相关业务(读取.写微博) 界面控制器不需要知道微博操作细节( ...

  7. html中a标签的target属性

    _blank -- 在新窗口中打开链接 _parent -- 在父窗体中打开链接 _self -- 在当前窗体打开链接,此为默认值 _top -- 在当前窗体打开链接,并替换当前的整个窗体(框架页) ...

  8. Linux/Mac里复制终端Session(像SecureCRT一样)

    在你的登录账户下的.ssh文件夹新建一个文件:config cd ~/.ssh config的文件中,内容为: host * ControlMaster auto ControlPath ~/.ssh ...

  9. Storm简介及使用

    一.Storm概述 网址:http://storm.apache.org/ Apache Storm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理 ...

  10. Linux 下线程的理解

    2017-04-03 最近深入研究了下Linux线程的问题,发现自己之前一直有些许误解,特记之…… 关于Linux下的线程,各种介绍Linux的书籍都没有深入去解释的,或许真的如书上所述,Linux本 ...