用NodeJs做一个小爬虫

作者:北京起步科技前端研究员,专注分享HTML5 App快速开发工具 WeX5 的黑魔法以及相应的前端技术。

前言

利用爬虫可以做很多事情,单身汉子们可以用爬虫来收集各种妹子情报,撩妹族们可以用爬虫收集妹子想要的小东西,赚大钱的人可以用来分析微博言论与股票涨跌的关系诸如此类的,简直要上天了。
你们感受一下 点我点我
这里写图片描述

这里写图片描述

蠢蠢欲动

抛开机器学习这种貌似很高大上的数据处理技术,单纯的做一个爬虫获取数据还是非常简单的。对于前段er们来说,生在有nodejs的年代真是不要太幸福了,下面就用nodejs来做一个爬虫吧。

这次我们先拿优快云来练练手,爬妹子什么的,其实大同小异。要实现的功能就是爬取前端板块的博文,输出作者的信息。

首先是工具的准备,nodejs当然是必须要装好的,我这里用的是目前最新版的6.2.0版本。另外由于我们需要通过各种http请求去爬取内容,所以一个好用的http调试工具也是必需的,这里我推荐是用postman。

搭建环境

根据爬虫需要的功能确定我们要使用的第三方库:

  • 后端服务: express
  • 发出http请求: superagent
  • 控制并发请求:async + eventproxy
  • 分析网页内容:cheerio

相关库的 API 请到对应的 GitHub 项目页上去了解,这里我就不再赘述了,对应的 package.json :

{
  "name": "spider",
  "version": "0.0.0",
  "description": "learn nodejs on github",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "async": "^2.0.0-rc.6",
    "cheerio": "^0.20.0",
    "eventproxy": "^0.3.4",
    "express": "^4.9.5",
    "superagent": "^2.0.0"
  },
}

写好的 package 记得安装下,这样我们就搭好了开发环境。

爬虫主体

下面按照爬虫需要的功能来一步步写爬虫主体。

后台服务部分

实现的功能是接收前端请求启动爬虫,完成信息爬取之后将信息返回给前端。后台服务部分我这里使用了 express 框架,这里比较简单也可以使用原生的 http 模块。简单框架如下:

var express = require('express');
var app = express();
app.get('/', function (req, res, next) {
   
    // your code here
});
app.listen(3000, function (req, res) {
   
    console.log('app is running at port 3000');
});

get 处理中插入我们的响应代码,包括启动爬虫,结果信息输出等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值