node模塊
- nodejs 全域模塊
引入
const fs = require('fs') // **直接寫模塊名即可**
使用
fs.readFile(xx,xx)
- 獨立安裝第三方模塊 (npm下載) 在 node_modules
下載
npm i body-parser -S
引入
const bodyParser = require('body-parser') // 直接寫模塊名
使用
bodyParser.json()
- 自定義模塊
nodejs模塊
1,如果一個檔案.js 沒有向外提供介面
那么整個檔案就是一個模塊,可以直接引入這個檔案(相當于將這個檔案的代碼直接copy進來)
注意:模塊化 每個模塊是有自己單獨的作用域(多個模塊中的變數名可以一樣)
2,模塊化 介面
1) 一個檔案 向外提供多個介面
exports.a = 值
exports.b = 值
exports.x = 值
值可以是任意資料型別
引入 (全部引入 obj是一個物件)
const obj = require('./a.js')
或者 引入特定介面
const { a,b } = require('./a.js')
注意:
自定義的介面 即使和 引入 檔案在同一目錄下,也不要直接寫目錄名
node中require機制(如果直接寫目錄名,node會先去自己的模塊中查找,再去node_modules中插件如果都沒有 會直接報錯)
2)一個檔案 默認提供介面(只能提供一個)
module.exports = 值
注意:
這個檔案只能匯出一個介面
注意:
當一個檔案中出現了
module.exports 和 exports 以module.exports為準
建議使用module.exports
node 常用內置模塊
- fs 檔案系統 讀 寫 洗掉 更新
異步
讀檔案
const fs = fs.readFile(path[,options],callback)
callback:
err
data
寫
fs.writeFile(path,data[,options],callback)
callback
err
追加
fs.appendFile(path,data[,options],callback)
callback
err
洗掉
fs.unlink(path,callback)
path模塊
path.join([...path])
// 方法 可以有多個引數,或者沒有引數
// 將 方法的 引數 拼接成 路徑片段
path.resolve([...path])
// 決議 路徑引數 決議成 絕對路徑
注意:
/寫在路徑前面代表 根目錄
有服務器(軟體):
/根目錄就是服務器監聽目錄
沒有服務器:
當前檔案所在 的盤
nodejs 內置的全域變數
__dirname
當前檔案所在目錄的絕對路徑
path.join(__dirname,'../fs')
__filename
當前檔案所在的絕對路徑
url模塊
組件
協議名
主機
埠
path
search (包含query k=v&k2=v2)
hash (#hash)
parse()
format()
http/https
const https = require(‘https’)
const cheerio = require(‘cheerio’)
const targetUrl = “https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=index&fr=&hs=0&xthttps=111111&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E7%BE%8E%E5%A5%B3&oq=%E7%BE%8E%E5%A5%B3&rsp=-1”
https.get(targetUrl,(res) => {
res.setEncoding(‘utf8’);
let rawData = ‘’;
let imgArr = []
res.on(‘data’, (chunk) => {
rawData += chunk
});
res.on(‘end’, () => {
console.log(“資料全部傳輸完畢了”)
const $ = cheerio.load(rawData)
console.log($('img').attr('src'))
$("img").each((i,ele)=>{
imgArr.push($(ele).attr('src'))
})
console.log(imgArr)
/*
分析 rawdata中
img標簽
src拿出來
$("img").each((i,el)=>{
})
*/
});
}).on(‘error’, (e) => {
console.error(出現錯誤: ${e.message});
})
在node中 發送一個http請求或者 https
爬蟲:
1,確定目標
2,爬取 圖片
3,url(圖片地址拿出來)
https://image.baidu.com/search/index?tn=baiduimage&ipn=r&ct=201326592&cl=2&lm=-1&st=-1&fm=index&fr=&hs=0&xthttps=111111&sf=1&fmq=&pv=&ic=0&nc=1&z=&se=1&showtab=0&fb=0&width=&height=&face=0&istype=2&ie=utf-8&word=%E7%BE%8E%E5%A5%B3&oq=%E7%BE%8E%E5%A5%B3&rsp=-1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203121.html
標籤:AI
