下面是它的大略用法:
默认是get方法,还有post方法,但我们本日要做的爬虫用不到post就不讲了。
var request = require('request');request('url你的要求', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // 要求成功的处理逻辑 }});

cheerio是为做事器特殊定制的,快速、灵巧、履行的jQuery核心实现。大略,易用,灵巧,反正你会用jQuery就可以利用它,当然也会有一些细微的差别。
举个例子:
// 引入cheerio模块const cheerio = require('cheerio')// 加载HTML字符串const $ = cheerio.load('<h4 class=\公众title\"大众>Hello world</h4>') // 设置Text$('h4.title').text('Hello there!')// 添加class$('h4').addClass('welcome') // 获取完全HTML$.html()//=> <html><head></head><body>// <h4 class=\"大众title welcome\"大众>Hello there!</h4></body></html>
利用iconv-lite来搞定乱码问题nodejs只支持utf-8,node没有供应转换编码的原生支持,iconv-lite,可以实现编码转换,
举个例子:
var http = require(\"大众http\"大众);var iconv = require(\"大众iconv-lite\公众);var url = \"大众http://hq.sinajs.cn/list=sh600595\公众;var req = http.request(url, function(res){ res.on('data',function(data){ data = iconv.decode(data, 'GBK'); console.log(data); });});req.end();
理解了上面的代码就差不多了,接下来开始完成网络爬虫代码编写:
const request = require('request');const cheerio = require('cheerio');var iconv = require('iconv-lite');var options = { url: \公众https://jiage.autohome.com.cn/price/carlist/p-35368\"大众, method: 'GET', encoding: null}request(options, function(error, response, body) { classList = []; if (!error && response.statusCode === 200) { var buf = iconv.decode(body, 'utf8').toString(); //解码gb2312 var $ = cheerio.load(buf); // 导航 _src = $(\"大众.caricon-list dd a\"大众).each(async function(index) { var $me = $(this); if (index > 0 && index < 9) { var item = { id: index, url: $me.attr('href'), name: $me.children('span').text() || \公众未知\"大众 }; let url = $me.attr('href'); let name = $me.children('span').text() || \"大众未知\"大众; try { const car = await MyClassList.insert({ url: url, name: name }) } catch (e) { console.log(e) } classList.push(item); } })
上面的代码是request读取到页面上的数据,然后利用iconv办理乱码问题,在利用cheerio把我们须要的数据取出来重新整理,以备后续利用。
鉴于篇幅限定,后续代码先容请持续关注。