Node.js 实现爬虫,爬取指定页面的所有美女图片并存储到数据库中
为了减少代码量和提高效率,这里不用内置模块去写,而是引用了第三方模块mysql-ithm(数据库简易版操作模块) 和 crawler(爬虫模块)最好先建好数据库(解释原因在代码最后),而且还需要修改代码中的数据库密码可以爬取你想要的数据,这里只是为了吸取读者的兴趣,所以去爬美女图片 (⊙o⊙)…需要具备基础知识:jQuery、ES6语法,Node.js,SQL语句 代码如下//导入模块const
·
为了减少代码量和提高效率,这里不用内置模块去写,而是引用了第三方模块 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
})
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)