nodejs爬取api接口資料添加到mysql資料庫
-
-
- 簡介 :
-
-
- 第一步 node連接配接mysql資料庫
- 第二步 node爬取api接口的資料
-
-
簡介 :
1.nodejs+express腳手架+mysql資料庫
2.用node爬取api接口的資料
3.node連接配接mysql資料庫
4.把爬取出來的資料添加到mysql資料庫中
補充:連接配接mongoosedb資料庫和連接配接mysql一樣
第一步 node連接配接mysql資料庫
安裝
npm i express
express -e myapp
npm i mysql
npm i request
代碼 router/index.js
const mysql = require("mysql");
// 建立資料庫連接配接
const db = mysql.createConnection({
host: "xx.xxx.xx.xx", // 連接配接的資料庫伺服器
port: "3136", // 端口号
user: "username", // 使用者名
password: "passsword", // 密碼
database: "testdb", // 資料庫名
});
db.connect((err) => {
if (err) {
"連接配接失敗" + err;
} else {
console.log("連接配接成功+success");
}
});
// 查詢
router.get("/list", (req, res, next) => {
let id = req.query.id;
console.log(id);
db.query(`select * from student`, (err, result) => {
if (err) {
// res.send({ code: 0, msg: "失敗" });
console.log("查詢失敗1+++++++" + err);
} else {
res.send({
code: 0,
data: result,
});
console.log("查詢成功2++++++" + result[0].age);
}
});
});
第二步 node爬取api接口的資料
建立一個js檔案
const request = require("request");
let params = {
url: "https://bi-api.cy8.shop/member/my_menus",
method: "get",
json: true,
headers: {
"content-type": "application/json",
token: "54cb9ee5-f3c2-11ec-8aa5-b4a9fc9dbd2f",
},
};
request(params, function (err, res, body) {
// console.log(err);
// console.log(res);
console.log(body.data);
var db = require("../db/db"); //建立資料庫連接配接的db
for (var i = 0; i < body.data.length; i++) {
console.log(body.data[i]);
let sql =
"insert into student (id,stu_name,url,parent_id,type) values( '" +
body.data[i].id +
"' , '" +
body.data[i].name +
"','" +
JSON.stringify(body.data[i].child_list) +
"', '" +
body.data[i].parent_id +
"' ,'" +
body.data[i].type +
"' )";
console.log(sql);
db.query(sql, (err, result) => {
if (err) {
console.log("增加失敗" + err);
} else {
console.log("增加成功成功" + result);
}
});
}
});