目录

  • 准备模块
  • 连接数据库
  • 请求获取页面数据
  • 写入数据库并且保存在本地

准备模块

使用的axios,cheerio,mysql模块都是第三方模块,需要提前下载

let mysql = require('mysql'),axios = require('axios'),cheerio = require('cheerio'),path = require('path'),fs = require('fs');

连接数据库

 let options = {host: 'localhost',port: '3306',user: 'root',password: '123456',database: 'imgs'};//创建连接对象let con = mysql.createConnection(options),count = 200,//爬取总的页数page = 1,//每次爬取的页index = 0;//每次递增的条数//建立连接con.connect(err => {if (err) {console.log(err); //查看是否有连接出错}console.log('连接成功');});

请求获取页面数据

 //获取第n个页面所有图片async function getImgUrl(num) {let baseUrl = 'https://www.fabiaoqing.com/biaoqing/lists/page/';//这里以发表情为例let res = await axios.get(baseUrl + num + '.html');// console.log(res.data);let $ = await cheerio.load(res.data);$('#bqb .segment .tagbqppdiv>a>.image').each((i, item) => {let href = $(item).attr('data-original'),title = $(item).attr('title');index++;// console.log(href, title);getInfo(index, title, href);//调取写入数据库函数});}

写入数据库并且保存在本地

async function getInfo(index, title, href) {let pathUrl = path.parse(href),ws = fs.createWriteStream(`./img/${pathUrl.base}`)await axios.get(href, { responseType: 'stream' }).then(res => {res.data.pipe(ws);// console.log('加载完成');res.data.on('close', () => {ws.close();})});let insert = 'insert into first (id,title,imgSrc,localImg) values (?,?,?,?)';//问号为占位符,可以在下面的query里传参,first为表名await (con.query(insert, [index, title, href, `./img/${pathUrl.base}`], (err, result, f) => {if (err) {console.log(err);}// console.log(result);// console.log(f)}));// // console.log(path.parse(href));
}//使用递归获取所有页数的数据
async function getAll() {if (page > count) {page = index = count = null;return;}await getImgUrl(page);page++;return getAll();
}
getAll();

完毕,谢谢!

使用node爬取表情包存进数据库相关推荐

  1. Node爬虫(二):使用cheerio爬取表情包

    cheerio 官方在线文档 简介 cheerio是nodejs的抓取页面模块,为服务器特别定制的,快速.灵活.实施的jQuery核心实现.适合各种Web爬虫程序 安装 npm install che ...

  2. scrapy爬取表情包使用flask搭建搜索网站

    本文以doutula为演示站点,详细说明搭建一个自己的表情包搜索网站的过程.主要步骤如下: 1. scrapy爬取表情包并存入mysql 2. flask搭建搜索网站 准备工作,anaconda py ...

  3. 【爬虫】Yhen手把手教你爬取表情包,让你成为斗图界最靓的仔!

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,转载请说明出处,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/art ...

  4. 我是斗图王之python爬取表情包

    最近在群里看到好多人在斗图,各式各样的,可是自己收藏里面却没有几个,于是就想着去网上找点资源.为了当上斗图王,就百度了些python教程,看着视频敲了些代码. 代码就不讲解了,因为毕竟是看着视频搞得, ...

  5. python爬表情包_教你用Python来爬取表情包网站的所有表情图片

    教你用Python来爬取表情包网站的所有表情图片 配置环境 安装Python 开发环境 3X系列 win + R 打开运行,输入cmd,输入python,进行验证是否安装Python win + R ...

  6. python爬取表情包,并下载到本地

    python爬取表情包 需求:爬取2页表情包,网址是:https://www.fabiaoqing.com/biaoqing 上代码 import requests # 数据请求模块 import p ...

  7. 教你用Python爬取表情包网站下的全部表情图片

    教你用Python爬取表情包网站下的全部表情图片 又是我啦~~~ 最近上网的时候老看到有人用Python爬取表情包,心痒痒自己也整了一个. 使用到的扩展库:BeautifulSoup, request ...

  8. python之scrapy实战爬取表情包

    python之scrapy实战爬取表情包 前言:在之前我们学习了scrapy框架的基本使用,今天我们通过实战(爬取http://www.doutula.com的套图)来更加了解scrapy框架额使用, ...

  9. python表情包语言_我是斗图王之python爬取表情包

    [Python] 纯文本查看 复制代码# -*- coding: utf-8 -*- ''' #intent : #Author :Michael Jack hu #start date : 2019 ...

最新文章

  1. 打造一个宇宙 星系模拟产生对宇宙进化惊人见解
  2. r k-means 分类结果_R语言信用评分卡:数据分箱(binning)
  3. Dynamips和Vmware完成CCVP试验(5)
  4. 现代制造工程笔记04-精密超精密加工和特种加工(主要掌握加工原理加工条件)
  5. python自然语言处理案例-Python自然语言处理 NLTK 库用法入门教程【经典】
  6. Nacos 集群 Nginx MySql SpringBoot2.x 微服务_04
  7. 大公司里怎样开发和部署前端代码?
  8. PyTorch | torch.full()使用方法 | torch.full()如何使用? torch.full()例子说明 | 通过torch.full创建全相同的张量
  9. vector,list deque三种容器对比
  10. windows 10 删除Linux系统方法
  11. 西贝莜面村如何建立自己的私域流量池?
  12. String类源码阅读
  13. C语言程序设计题(函数题中15道)
  14. C/C++代码实现向量叉乘
  15. Android解析XML文件(assets目录)
  16. 自由浏览器 android,Safari、Android Browser合占移动浏览器半壁江山
  17. ALV中的回车事件相应及添加F4帮助
  18. ios11非越狱如何安装ipa
  19. 大数据(一)数据采集 3
  20. 忘记Excel文件打开密码,怎么办?

热门文章

  1. Java POI excel隐藏列
  2. 阿里云服务器内网/私网IP地址段说明
  3. 任务一:实现销售分析功能关键算法A商店准备在今年夏天开始出售西瓜,西瓜的售价如下,20斤以上的每斤0.85元;重于15斤轻于等于20斤的,每斤0.90元;重于10斤轻于等于15斤的,每斤0.95元;
  4. 仿微信实现听筒和扬声器切换功能(Android)
  5. 成功升级日版 iphone 3G (成砖)
  6. 自考重庆工商大学难不难?
  7. 关于游戏平衡性——王者荣耀装备百分比参考值
  8. Linux终端查看当前时间和时间戳
  9. max创意量子计算机,MAX创意大会有什么?五分钟全掌握!
  10. element图片预览添加下载图片功能.