为了减少代码量和提高效率,这里不用内置模块去写,而是引用了第三方模块 mysql-ithm(数据库简易版操作模块) 和 crawler(爬虫模块)
最好先建好数据库(解释原因在代码最后),而且还需要修改代码中的数据库密码
可以爬取你想要的数据,这里只是为了吸取读者的兴趣,所以去爬美女图片 (⊙o⊙)…
需要具备基础知识:jQuery、ES6语法,Node.js,SQL语句

在这里插入图片描述

代码如下

//导入模块
const hm=require('mysql-ithm')
const Crawler = require("crawler");




//存取所有美女图片链接
let links=[]

//1、抓包
var c = new Crawler({
    maxConnections : 10,
    // This will be called for each crawled page
    callback : function (error, res, done) {
        if(error){
            console.log(error);
        }else{
            var $ = res.$;
            // $ is Cheerio by default
            //a lean implementation of core jQuery designed specifically for the server

            //遍历当前页面所有指定的美女图片
            $('.soxflashtext').each((index,item)=>{
                let img=$(item).prev('a').children().attr('src')
                let name=$(item).prev('a').children().attr('alt')
                links.push({
                    name,
                    link:img
                })
            })
        }
        done();
    }
});

// // Queue just one URL, with default callback
c.queue('https://www.tupianzj.com/meinv/mm/toumingqunzi/');




//要等待所有异步请求数据全部做完后,才开始入库
c.on('drain',()=>{
    // 调用API,插入数据
    mmModel.insert(links,(err,res)=>{
        console.log(err)
        console.log(res)
        if(!err) console.log("成功添加√")
    })
})

//2、连接数据库
//没有自动创建
hm.connect({
    host:"localhost",
    port:'3306',
    user:'root',
    password:'数据库密码',
    database:'girl'
})

//3、创建Model(表格模型,增删改查)
//如果table表格存在则连接,不存在则自动创建
//最好先创建好数据库和表,因为这个hm模块创建出来的表,再存入中文时会报错
//自己创建的数据库和表可以先设置为utf-8
let mmModel=hm.model('mm',{
    name:String,
    link:String
})
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐