准备工作
-
通过指令
npm init
初始化文件夹,会获得package.json
项目说明书。 -
爬虫必备工具:
cheerio
;通过在终端输入npm i cheerio
,即可将文件装到项目里。cheerio
是jquery
核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM
进行操作的地方。大家可以简单的理解为用来解析html
非常方便的工具。
完整代码
//引入模块 const https = require('https') const cheerio = require('cheerio') const fs = require('fs') //获取页面的html结构 // https.get('https://movie.douban.com/top250', function (res) { https.get('https://book.douban.com/chart?subcat=all', function (res) { let html = '' res.on('data', function (chunk) { //console.log(chunk + ''); html += chunk }) res.on('end', function () { // 获取html中的数据 const $ = cheerio.load(html) console.log(html,'html') let allFiles = [] //拿到每一个item中我们需要的数据 $('.media').each(function () { const title = $('.media__body h2 .fleft', this).text() const star = $('.media__body p .ml8', this).text() const pic = $('.media__img .subject-cover', this).attr('src') const price = $('.buy-info a', this).text().trim() //数据以对象的形式存放在数组中 allFiles.push({ title: title, star: star, pic: pic, price }) }) //console.log(allFiles); //将数据写入文件中 fs.writeFile('./files.json', JSON.stringify(allFiles), function (err, data) { if (err) { throw err } console.log('文件保存成功'); }) }) })
目标列表
成果截图
标签:node,function,实用教程,const,cheerio,爬虫,html,https From: https://www.cnblogs.com/xiaohuizhang/p/17751040.html