【Node】---- 核心模块
1、url模块
- url.parse(path, true) 将url转成对象,参数为true时会将query解析成一个对象
- url.format() 将一个urlObject转成一个字符串url
- url.resolve() 生成一个相对或绝对路径 [第二个添加”/”则跳转绝对路径]
2、queryString模块
- qs.escape() 转义
- qs.unescape() 反转义
- qs.parse(字符串, ”分隔符“, “赋值符”) 字符串转对象
- qs.stringify(字符串, ”分隔符“, “赋值符”) 对象转字符串
3、events模块
- on(eventName, cb) 事件绑定
- setMaxListeners(n) 设置最大可绑定的函数数量
- removeListener(eventName, cb) 事件移除,必须在事件触发之前
- removeAllListener(eventName) 移除所有事件
- emit(eventName, params) 事件触发,与on中事件名一致,并填写参数
4、http小爬虫
(1)引入模块和路径 [cheerio模块可以让我们操作数据像jq一样]
(2)接收数据
http.get(url, (res)=> { let str = ''; // 请求到的数据是一块一块进行接收的,接收时会触发data事件 res.on("data", (data)=>{ str += data; }) // 接收完毕后会触发end事件 res.on("end", ()=> { // 将请求到的数据封装到$ let $ = cheerio.load(str); // 进行类似jq的数据操作 // fs.readFile()、fs.reiteFile()... }) })
5、fs模块
(1)fs.start() 校验文件类型
-
fs.stat(“文件路径”,(err, stats) => {if (!err) {} })
-
stats.isFile() 检验是不是一个文件
-
stats.isDirectory() 检验是不是一个文件夹
(2)fs.readFile() 读取文件内容
- fs.readFile(“文件路径, (err, data) => {})
- 返回值是一个buffer文件,加空字符串可将其转换为字符中
(3)fs.writeFile() 将数据写入文件
- fs.writeFile(“文件路径”, ”文件内容”, (err) =>() {})
(4)appendFile() 向文件追加内容
- fs.appendFile(“文件路径”, “追加的内容”, (err)=>() {})
(5)fs.readdir() 列出文件夹的目录
- fs.readdir(“文件路径, (err, data) => {})
- data:文件的目录信息,是一个数组
(6)fs.rename() 更改文件或文件夹的名称
- fs.rename(“文件路径”, “文件更改的名称”, (err)=>() {})