共计 933 个字符,预计需要花费 3 分钟才能阅读完成。
-
新建一个文件夹,这里我命名为“爬”。
mkdir pa
-
初始化一个工程,并装置相干模块。
cd pa // 装置 package.json npm init // 装置 cheerio,用来在服务端应用 jq 语法操作 dom npm install cheerio --save // 装置 request,用来发送网络申请 npm install request --save
-
新建文件命名为 app.js,依照需要爬取数据,并保留到 data.txt。
const http = require('http') const fs = require('fs') const cheerio = require('cheerio') function getData(url, title) {http.get(url, function(res) {let html = ''res.setEncoding('utf-8') res.on('data', function(chunk) {html += chunk}) res.on('end', function() {const $ = cheerio.load(html) // 按页面 dom 构造获取你须要的数据 const content = `\n\n\n\n\n\n-------- 布告【${title}】的内容 ---------\n\n` + $('.xq4').text().trim() + `\n\n-------- 布告【${title}】的内容完结喽 ---------\n\n\n` fs.appendFile('./datas/data.txt', content, 'utf-8', function(err) {if (err) {console.log(err); } }) }) }) } // 依照理论状况编写申请 http.get(` 接口地址 `, function(res) {res.setEncoding('utf-8') res.on('data', function(res) {res = JSON.parse(res) res.data.forEach(item => {const url = ` 页面地址带上接口返回的参数 ${item.id}` getData(url, item.title) }); }) })
- 执行
node app.js
,一个超级简略的爬虫就实现了~
正文完