如果只写怎么抓取网页,肯定会被吐槽太水,满足不了读者的逼格要求,所以本文会通过不断的审视代码,做到令自己满意(撸码也要不断迸发新想法!
本文目标:抓取什么值得买网站国内优惠的最新商品,并且作为对象输出出来,方便后续入库等操作
抓取常用到的npm模块
本文就介绍两个:request
和 cheerio
,另外lodash
是个工具库,不做介绍,后面篇幅会继续介绍其他用到的npm库。
- request:是一个http请求库,封装了很多常用的配置,而且也有promise版本(还有next版本。
- cheerio:是一个类似jQuery的库,可以将html String转成类似jQ的对象,增加jQ的操作方法(实际是htmlparser2
request 示例
var request = require('request');
request('http://www.smzdm.com/youhui/', (err, req)=>{
if(!err){
console.log(Object.keys(req))
}
})
通过上面的代码就看到req
实际是个response
对象,包括headers
、statusCode
、body
等,我们用body
就是网站的html内容