nodejs爬取api接口数据添加到mysql数据库
简介 :
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);
}
});
}
});