天天看點

nodejs爬取api接口資料添加到mysql資料庫

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);
      }
    });
  }
});