paip.QQ音乐导出歌单总结
paip.QQ音乐导出歌单总结
作者Attilax , EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax
QQ音乐歌单已经越来越多兰.要不个哪导出备份一哈了....
哪本身马支持export功能..,只能自己想方法兰..
先是spylite查看累挂,歌单南儿不是个标准的控件..不管子瓦间还是拿个Aqua.Deskperience试达累挂.三,不行..
看来要从内存上想办法了,拿个winhex不个qq music 的process catch累挂,search累挂,型是欣赏兰.RA.开头儿的...就是不是弄规律..不好哈手阿.
看来要从网络通信上想办法了.拿wsexpolore 试达累挂,捕获到兰,就是叫哪狗儿加密兰..赃给儿.
估计哪本地雅缓存着了,从直上想办法..拿个processmonitor不个哪监视累挂..袖管加磊个歌儿,就发现兰.C:\\Documents and Settings\\Administrator\\Application Data\\Tencent\\QQMusic\\qmdb 欣赏兰阿.
看累挂,SQLITE的哈..SQLiteExpertPro.exe打开一看,规律..就是仄兰..不过,分类跟个歌单不直接关联的个一达..就是内个catelog哈面儿的歌单是个逗号分割字段..还是要休整给挂了...
mysql的find_in_set, mssql都有逗号分割字段的函数了..sqlite三马..只好存储过程兰,三,查看累挂,sqlite不支持,连个函数雅不支持..不过事务倒是支持直了...触发器也有了..外键也能支持..
看来,只好拿个C++写个程序兰..查看累挂SQLiteExpertPro的手册,还支持LUA跟Pascal 的扩展直了..就拿个LUA脚本写算兰吧..editplus不支持lua,下载累挂notepad++,算是有语法高亮兰..就是sqlitedatabase class ,The sqlitequery class ,The sqlitefield class 语法不发亮..不个哪扩展累挂,仿照QT,类red,方法蓝色的...设置>语言格式设置...设置好好后,查看更改.打开stylers.xml, <LexerType name="lua" desc="Lua" ext="">
<WordsStyle name="FUNC1" styleID="13" fgColor="0080C0" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="12" keywordClass="instre2">new sql active first eof connected filename database edit getfield value displaydata open free</WordsStyle>
<WordsStyle name="FUNC2" styleID="14" fgColor="8000FF" bgColor="FFFFFF" fontName="" fontStyle="1" fontSize="" keywordClass="type1" />
<WordsStyle name="FUNC3" styleID="15" fgColor="FF8040" bgColor="FFFFFF" fontName="" fontStyle="3" fontSize="" keywordClass="type2">sqlitedatabase sqlitequery sqlitefield attilaxc920</WordsStyle>
关于逗号分割字段
--------------------
由于很多业务表因为历史原因或者性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值(具体结构见下表)。
还有个优点,就是 in () 操作的时候方便..
有时候需要将这个列依据分隔符进行分割,并得到列转行的结果。
最后的lua脚本:
------------------
--参数设置区---
---author: attilax date:c920
qq="1466519819"
catname_export="我喜欢"
dbpath='C:\\Documents and Settings\\Administrator\\Application Data\\Tencent\\QQMusic\\qmdb'
--------- pragram start
databasex = sqlitedatabase:new()
print(dbpath);
print("halo");
print("3333");
databasex:filename(dbpath)
databasex:connected(true)
query = sqlitequery:new()
query:database(databasex)
sqlc920a=" SELECT [Cat].[Cat_textSongs] FROM [Cat] where Cat_strCatName='"..catname_export.."' and cat_nuser="..qq;
--sqlc920a=" select 'aa' ";
print ("\n-- sql---"..sqlc920a);
query:sql(sqlc920a)
query:active(true)
print ("\naquery is eof ----",query:eof() );
query:first()
while (query:eof() == false) do
print ("\n has record query is eof 222 ----",query:eof() );
query:edit()
catname= query:getfield('Cat_textSongs'):value()
--:value();
query:next()
end
sqlc920=[[select s.*,m.[dwOutSigID] from [SongInfo] s,[SongMap] m
where s.dwSigID=dwInSigID and dwOutSigID in (]]..catname ..") ";
print(sqlc920);
displaydata(query)
-----select songes
query:sql(sqlc920)
query:open();
displaydata(query)
query:free()
databasex:free()
参考\
MySQL逗号分割字段的行列转换技巧 - cenalulu - 博客园.htm
5款免费好用的SQLite管理工具_数据库_西部e网.htm
SQLite 函数大全 - - ITeye技术网站.htm
Lua程序设计.chm
paip.QQ音乐导出歌单总结的更多相关文章
- python3 爬取qq音乐作者所有单曲 并且下载歌曲
1 import requests import re import json import os # 便于存放作者的姓名 zuozhe = [] headers = {'User-Agent': ' ...
- Linux终端音乐播放器cmus攻略: 操作歌单
目录 1. 安装 2. 操作说明 2.1. *PlayList歌单 2.2. 其他 3. 视图切换 4. 使响应Media/play按键 4.1. 编译安装 cmus是一款开源的终端音乐播放器.它小巧 ...
- 【Python3爬虫】网易云音乐歌单下载
一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...
- 手把手教你使用Python抓取QQ音乐数据(第二弹)
[一.项目目标] 通过Python爬取QQ音乐数据(一)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 此次我们在之前的基础上获取QQ音乐指定歌曲的歌词及前15个精 ...
- 手把手教你使用Python抓取QQ音乐数据(第一弹)
[一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二.需要的库] 主要涉及的库有:requests.json ...
- 调皮的QQ音乐API:修复无法获取歌单
上一篇完整版:http://www.cnblogs.com/TwilightLemon/p/7076938.html QQ音乐的API真是太调皮了,获取歌单的API又更换了好多次,喵喵喵 旧版API( ...
- vue-music 跨域获取QQ音乐歌单接口
最近在看vue音乐APP视频学习,需要跨域获取歌单数据,视频中老师是在build/dev-server.js文件配置跨域接口的,但是新版的vue-cli是没有这个文件的,我的vue版本是"2 ...
- QQ音乐2019客户端-获取任意歌单完整歌曲列表和下载音乐文件方法
步骤 1.在web网站上搜搜任意歌单 https://y.qq.com/#type=index/ 例如:中国好声音4.5.6.7.8季 打开后显示网址: https://y.qq.com/n/yqq ...
- 爬取QQ音乐歌手的歌单
import requests# 引用requests库res_music = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search ...
随机推荐
- 定制化Azure站点Java运行环境(2)
Azure Website上发布Java web应用 在Azure站点上发布Java Web应用非常简单,可以使用git从源代码发布,也可以使用FTP/FTPs直接发布,本节介绍FTP方式. 准备好你 ...
- jquery $ dollar符号用法总结
参考:https://github.com/chyingp/blog/blob/master/jquery/jQuery%E6%BA%90%E7%A0%81-%E7%BE%8E%E5%85%83$%E ...
- hdu1079 Calendar Game
Calendar Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- 如何不让oracle使用linux的swap分区
经常看到swap分区被使用,被缓存的内容本来是为了增加命中率,结果去不断换入换出,导致本地磁盘IO增加,影响访问速度.所以在内存充足的情况下,如果我们觉得不需要使用swap分区的时候,那就要想办法尽量 ...
- python内置函数(2)-递归与迭代
这篇文章简单介绍了迭代和递归的概念.两者的区别 什么是迭代: 迭代是重复反馈过程的活动,其目的通常是为了接近并达到所需的目标或结果.每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来 ...
- Lucene 4.4 依据Int类型字段删除索引
1.方法一,通过Term删除 Term构造中没有.Int类型须要转换成Lucene自带的类BytesRef . /** * 依据商品ID删除索引文件 * @param id */ public voi ...
- 你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ?
你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ? 长沙戴维营教育将为你解开这个巨大的谜团大BUG! http://www.ubuntucollege.cn/course/29/ ...
- 依赖注入及AOP简述(三)——依赖注入的原理
3. “依赖注入”登场 于是诸多优秀的IT工程师开始想出了更加轻量便利.更加具有可测试性和可维护性的设计模式——IoC模式.IoC,即Inversion of Control的缩写,中文里被称 ...
- 傅老师课堂:Java高级应用之Struts2+Spring2+Hibernate3大集成
开篇一笑:一对情侣,非常恩爱,但男友喜欢说脏话,一天女友提出要带男友回家吃个饭,见见家长,千叮万嘱让男友别说脏话,男友在家憋了一晚上没说一句脏话,天气寒冷,到走的时候女友家长要出来送他们,男友客气的说 ...
- animate CSS动画程序接口(仅Chrome可用)
jQuery中很早就提供了animate方法,使用它可以很方便地实现一些简单动画效果.后来CSS3中也提供了animation用于动画效果制作,但CSS本身的可操作性太差,所以用起来并不方便.现在最新 ...