node爬虫案例

2018-09-12  本文已影响0人  祝家庄打烊

一、思想

主要运用了http模块,内部模块有用到 fs、url,外部模块有用到 jsdom、gbk。通过http.request抓取数据,传入需要的基本信息,即可抓取到数据。为了使方法用起来方便,还要对代码进行封装,效果需要达到传入一个完成的连接地址,即可抓取到数据。github项目下载

函数调用 封装函数

二、运用的模块

fs文件系统模块:把获取到的数据写入到文件当中。url:解析url地址。jsdom字符串转化成可以操作dom元素的虚拟dom(此虚拟dom非react里面虚拟dom)。gbk:统一文字格式,把GBK国标转化成utf-8。

模块

三、注意事项:

1、链接地址的协议问题,如果协议是http用到的http模块,如果协议是https则用https模块。

2、有的网站地址为了防止爬虫,会做很多的处理,如:淘宝。其中之一,就是重定向。要N次访问地址之后,才会得到一个真正的地址。解决方式很简单,通过状态码来判断是否重定向,301或302代表是伪地址,需要重新拿到地址,递归即可。

重定向

3、通过res.on('data')事件处理机制,把整个数据一段一段来传输,输入的值也就是二进制。扒网站,把一段段二进制累加成字符串,扒图片,把一段段二进制存入空数据,结束后再通过Buffer.concat(arr)组装。

上一篇下一篇

猜你喜欢

热点阅读