如何把获取的JSON数据插入到MySQL中

自己在官网上搞数据存为JSON 然后插入到MySQL里

1 直接爬官网的数据

  • 首先创建一个空的用来存放json文件的文件
// 需求: (1) 读取页面的html
//   (2) 把数据存入数据库,或存入data.json

//request模块: 发起http请求
// 安装 : cnpm i request --save 
const request = require("request");

// 把html代码转为类似jquery对象
const cheerio = require("cheerio");

const fs = require("fs");
const ms = require("./miData.json");//这是创建的空JSON文件 以便爬好直接存入进去


// 读取页面的html
function requestHtml() {
   
    return new Promise(function(resolve,reject){
   
        // request("https://www.vmall.com/huawei?cid=10618", function (err, res, data) {
   
        request("https://www.mi.com", function (err, res, data) {
    //这是爬取的官网地址 
            console.log(data.length,1)
            let $ = cheerio.load(data);
            let miData = [];//声明一个空数组用来接收爬取的数据
            // console.log($(".site-header .header-nav .nav-item .item-children li").find(".title").text())
            //这个是找到爬数据对应的类型
            $(".site-header .header-nav .nav-item .item-children li").each(function (index) {
   
                let goodsDetail = {
   
                    id: index + 1,
                    title: $(this).find(".title").text(),
                    desc: $(this).find(".desc11").text(),
                    price: $(this).find(".price").text()
                }
                miData.push(goodsDetail);
            })
            // // data已经构造完成
            resolve(miData)
        })
    })
}

function writeData(data) {
   
    //把上一步的数据写入miData.json
    // console.log(2)
    fs.writeFile("./miData.json",JSON.stringify(data),function(err){
   
        if (err){
   
            console.log('error')
        }else{
   
            console.log('success')
        }
    })
}

async function spider() {
   
    let data = await requestHtml();
    writeData(data);
}
spider();




// json结构
// [{
   
//     
  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值