nodejs sqlite数据库之QQ拼音表情包

nodejs sqlite数据库之QQ拼音表情包

月光魔力鸭

2020-07-19 17:40 阅读 280 喜欢 0 QQ拼音表情包

平时聊天或写文章的时候,一直使用QQ拼音,经常会在打字的时候蹦出表情来,昨天突然就想把这沙雕表情插入到我的文章里面.. 还可以稍显生动一些..无

然后找到了QQ拼音存在电脑本地的数据库,image.***.db 文件,很明显为sqlite数据库,并且无加密或密码,可以直接打开。

就看到了几百个表情包地址..关键是下载无鉴权,很容易就可以下载下来..但是考虑到有500+之多..自然还是程序来做。

由于之前未使用过sqlite3数据库,这里做个小尝试..发现连接使用并不难..

资料查阅

代码

代码很简短,几十行就OK了,下载后可以通过RAR进行解压..目前暂时没想好如何插入到文章中,等后续考虑好了方式,再更新。

/***
 * 读取sqlite数据库,并下载所有的表情,并解压。
 */
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('db/image.db');
var axios = require('axios');
var fs = require('fs');

;(async function(){
    db.serialize(async ()=>{
        db.all("select * from downloadpacket",async (err,row)=>{
            console.log(row.length);
            await download(row);
      })
    })
})();

//下载表情包,并进行解压。
async function download(rows){
    for(let i in rows){
        let d = rows[i];
        let {expName,expDownloadUrl}  = d;
        //下载
        await fetch(expDownloadUrl,expName)
    }
}
async function fetch(url,name){
    let rs = await axios({
        url : url,
        type : 'get',
        responseType : 'stream'
    }).then(rs=>rs.data);
    var ws = fs.createWriteStream('./emoj/'+name+'.qqe');
    await r2w(rs,ws);
}

function r2w(rs,ws){
    return new Promise((resolve,reject)=>{
        rs.pipe(ws);
        rs.on('end',()=>{
            resolve();
        })
        rs.on('error',()=>{
            reject();

        })
    });
}

500+表情包

转载请注明出处: https://chrunlee.cn/article/node-sqlite-qq-emoj.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢? 这里会为大家一一道来。 微信dat怎么解码?手机内微信的文件越来越多怎么清理呢?哪些dat文件是有用的呢?在线dat转码帮你处理。
前段时间有问到一个网页去掉水印的问题,拿到地址一看..dom
微信dat是用什么软件打开?微信dat是什么?如何查看呢? 微信的dat文件是微信用于缓存PC端微信的图片,然后对图片进行了加密的处理。所以是可以删除的,有些朋友data文件夹下有十几G的,都是可以删除的,但是最好确保这些文件都已经没有用处了再进行删除。 下面给大家介绍一个能够在线解码微信dat的网站。
chrome css 下的 media=print 下的调试小技巧
一直在做K12教育方面的产品,不过大都是学校管理层面的,对于教学一直很少触及。当然,这类的产品已经存在不少了,在功能、设计方面我们都会借鉴一些进行改进,其中有一些基础数据,如果也是从头自己收集的话,我想,可能会死的吧...比如:各个学段内的教材和章节信息。
如果有台能翻墙的服务器,那么我们就可以自己做一个代理,这样本地就可以科学上网啦..
简单记录下openssl 编译x64 以及在visual studio 中附加openssl库的过程,过程很简单,不过不是我的专业,所以比较耗时.. 很多小细节的问题。