node 中可以使用 egg.JS 框架来实现 HTTP 请求, 然后通过 cherrio 模块来读取请求的数据, node 中通过 require 方法引用 egg.JS 和 cherrio.
node 做爬虫所需环境:
1.node 环境
2.egg.JS(可以不用框架, 自己搭建 http 请求模块)
3.cherrio 模块 (用于解析 DOM)
在本次的项目我就把数据的爬取写在了 service 层, 而 controller 层我就主要用于接收客户端的请求.
node 爬虫的实现:
1,Controller 层代码如下:
2,Service 层代码如下:
3.Cherrio
我们用 node 爬到数据后, 就要对爬到的 html 代码进行解读, 读取出我们需要使用的数据. 然后通过 cherrio 将数据拿到, 最后返回 controller 即可.
Egg.JS 特性
提供基于 Egg 定制上层框架的能力
高度可扩展的插件机制
内置多进程管理
基于 Koa 开发, 性能优异
框架稳定, 测试覆盖率高
渐进式开发
cheerio:
cheerio 是 Node.JS 特别为服务端定制的, 能够快速灵活的对 jQuery 核心进行实现, 工作于 DOM 模型上, 并且解析, 操作, 呈送都很高效
来源: http://www.css88.com/qa/node-js/12157.html