nodejs爬虫简述

原创 友目大爻 教程 学习教程 163阅读 2018-09-06 14:37:31 举报

公司项目涉及到珠宝价格,网上找了一些接口都是要钱的,想了一下就做了个爬虫,把别人网站上的价格爬下来,使用nodejs.以下是我的方法:
1.创建项目spider和初始化工程

运行完成后出现package.json,是此项目的基本信息
2.创建http server服务使用http,操作文件系统使用fs,获取网页内容使用request,dom操作提取网页中的数据使用cheerio,其中http和fs作为内置包不需要安装

--save将依赖写入package.json
3.我们可以在spider下创建data文件夹用来存储不同珠宝数据,创建spider文件进行爬虫操作

值得注意的两点:
(1)html += chunk;chunk是buffer对象,也是一个缓冲区,这里存在一个数据拼接,隐藏了toString()的转换,其实是html = html.toString() + trunk.toString();中文在utf-8的编码方式下占用3个字节,所以如果chunk不足以放下完整的一个宽字符的时候就有可能出现字符被截断的风险;
(2)对(1)的解决方法是设置编码方式:res.setEncoding('utf-8'),setEncoing之后可读流变得非常智能,如果遇到宽字符被截断的情况下,它在内部会暂存被截断的宽字符,等待下次事件触发,合并之前暂存的字符,这样就解决了乱码的问题。但是其处理编码方式有限,只能处理Base64/utf-8/utf-16LE/UCS-2。

启动:
cd spider
node spider.js
之后就可以在data中看到数据了

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复