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

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

月光魔力鸭

2020-07-19 17:40 阅读 819 喜欢 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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
今天用github登录自己网站的时候,竟然意外的失败了,查了下日志,发现报错:Request forbidden by administrative rules 。
$ openssl x509 -in ./1_wechatdat.com_bundle.crt -out ./1_wechatdat.com_bundle.pem
一直在做K12教育方面的产品,不过大都是学校管理层面的,对于教学一直很少触及。当然,这类的产品已经存在不少了,在功能、设计方面我们都会借鉴一些进行改进,其中有一些基础数据,如果也是从头自己收集的话,我想,可能会死的吧...比如:各个学段内的教材和章节信息。
关于自动签到,之前也有过,感觉写过好多次了,有可能也重复了,不过这次是通过puppeteer来实现的,相对于之前的phantomjs 或 casperjs 或 request 等最起码会更简单些,也不用安装这么多稀奇古怪的东西。
傅里叶啊傅里叶 要掐死你啦..
最近在找一些资源,绘本啊 故事啊之类的,想到肯定有很多人分享到了网盘,但是去哪里找呢?
在写前端页面的时候,反复操作的是切换,写完代码,切换到浏览器,然后刷新,查看效果,不合适,然后再切换回编辑器,然后修改,这样反复操作。livereload 释放了双手,自动刷新(尤其是双屏的同学特别友好)
微信dat是用什么软件打开?微信dat是什么?如何查看呢? 微信的dat文件是微信用于缓存PC端微信的图片,然后对图片进行了加密的处理。所以是可以删除的,有些朋友data文件夹下有十几G的,都是可以删除的,但是最好确保这些文件都已经没有用处了再进行删除。 下面给大家介绍一个能够在线解码微信dat的网站。