赞
踩
首先下载npm的一个模块
命令:
npm i crawler
下载完你会得到一个名字是node_modules文件夹跟一个package-lock.json文件
注意:
var Crawler = require('crawler') const fs = require('fs') var c = new Crawler({ maxConnections: 10, callback: function (error, res, done) { if (error) { console.log(error); } else { var $ = res.$; // console.log($('title').text()); //文件夹路径自定义 fs.writeFile('./temp/1.txt', $('body').text(), (err) => { if (err == null) { console.log('爬去成功') } }) } done() } }) //爬取的网站内容的地址 c.queue('https://ncov.dxy.cn/ncovh5/view/pneumonia')
var Crawler = require("crawler"); var fs = require('fs'); var c = new Crawler({ encoding:null, jQuery:false,// set false to suppress warning message. callback:function(err, res, done){ if(err){ console.error(err.stack); }else{ fs.createWriteStream(res.options.filename).write(res.body); } done(); } }); c.queue({ uri:"https://nodejs.org/static/images/logos/nodejs-1920x1200.png", filename:"nodejs-1920x1200.png" headers:{'User-Agent':'requests'} });
注意:在爬取网站的视频的时候为了防止人家的反爬技术,我们需要伪装
就是伪装浏览器请求(我们的是服务端请求)
headers:{'User-Agent':'requests'}
// 创建一个静态资源服务器
const express = require('express')
const app = express()
//将项目公开
app.use(express.static('web'))
app.listen(8089, () =>{
console.log('服务器开启了')
})
/** * 接口:得到一条随机笑话 * 接口地址:/joke * 请求方式:get * 参数:无 * 返回:一条笑话 */ // 导包 const express = require('express') // 创建服务器 const app = express() // 写接口 app.get('/joke', (req, res) => { let arr = ['狐狸走路会摔跤,因为狡猾,哈哈', '蔡徐坤是男的', '徐坤爱碧落'] let index = Math.floor(Math.random() * 3) //1,2,0 // 返回笑话 res.send(arr[index]) }) // 开启服务器 app.listen(4399, () => { console.log('服务器开启了') })
/* 接口:用户登录 请求地址:/login 请求方式:post 请求参数:username password 返回值:登录成功、登录失败 */ // 导包 const express = require('express') const bodyParser = require('body-parser') // 创建服务器 const app = express() app.use(bodyParser.urlencoded({extended:false})) // 写接口 app.post('/login', (req, res) => { console.log(req.body) // 由于是post方式传递过来的 参数,所以用req.query这种方式拿不到 // 使用第三方模块:body-parser console.log(req.body) if (req.body.username == 'lyb' && req.body.password == '666') { res.send({ code: 200, msg:'登录成功' }) } else { res.send({ code: 400, msg:'账号密码不对' }) } res.send('sb') }) // 开启服务器 app.listen(8089, () => { console.log('f服务器开启了') })
第三方模块:multer
/* 注册接口 接口地址:/register 请求方式:post 请求参数:username password usericon(用户头像) 返回数据:注册成功、失败 */ const express = require('express') const multer = require('multer') const app = express() // 用包:创建一个文件夹 var upload = multer({ dest: 'uploads/' }) app.post('/register', upload.single('usericon'), (req, res) => { res.send('sb') // file:传递过啦的信息 console.log(req.file,req.body) }) app.listen(4399, () => { console.log('服务器开启'); })
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。