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音乐导出歌单总结的更多相关文章

  1. python3 爬取qq音乐作者所有单曲 并且下载歌曲

    1 import requests import re import json import os # 便于存放作者的姓名 zuozhe = [] headers = {'User-Agent': ' ...

  2. Linux终端音乐播放器cmus攻略: 操作歌单

    目录 1. 安装 2. 操作说明 2.1. *PlayList歌单 2.2. 其他 3. 视图切换 4. 使响应Media/play按键 4.1. 编译安装 cmus是一款开源的终端音乐播放器.它小巧 ...

  3. 【Python3爬虫】网易云音乐歌单下载

    一.目标: 下载网易云音乐热门歌单 二.用到的模块: requests,multiprocessing,re. 三.步骤: (1)页面分析:首先打开网易云音乐,选择热门歌单,可以看到以下歌单列表,然后 ...

  4. 手把手教你使用Python抓取QQ音乐数据(第二弹)

    [一.项目目标] 通过Python爬取QQ音乐数据(一)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 此次我们在之前的基础上获取QQ音乐指定歌曲的歌词及前15个精 ...

  5. 手把手教你使用Python抓取QQ音乐数据(第一弹)

    [一.项目目标] 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名.专辑名.播放链接. 由浅入深,层层递进,非常适合刚入门的同学练手. [二.需要的库] 主要涉及的库有:requests.json ...

  6. 调皮的QQ音乐API:修复无法获取歌单

    上一篇完整版:http://www.cnblogs.com/TwilightLemon/p/7076938.html QQ音乐的API真是太调皮了,获取歌单的API又更换了好多次,喵喵喵 旧版API( ...

  7. vue-music 跨域获取QQ音乐歌单接口

    最近在看vue音乐APP视频学习,需要跨域获取歌单数据,视频中老师是在build/dev-server.js文件配置跨域接口的,但是新版的vue-cli是没有这个文件的,我的vue版本是"2 ...

  8. QQ音乐2019客户端-获取任意歌单完整歌曲列表和下载音乐文件方法

    步骤 1.在web网站上搜搜任意歌单 https://y.qq.com/#type=index/ 例如:中国好声音4.5.6.7.8季 打开后显示网址:  https://y.qq.com/n/yqq ...

  9. 爬取QQ音乐歌手的歌单

    import requests# 引用requests库res_music = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search ...

随机推荐

  1. Inno Setup技巧[实例]添加自定义页面

    原文 http://hi.baidu.com/watashi/item/b3dda993459ff8f0291647a0 通过“添加自定义页面”可以丰富安装程序的功能.本文以添加一个页面“选择安装类型 ...

  2. 在cocos2d-x界面中嵌入Android的WebView

    在Cocos2dxActivity.java中, (1) 增加函数onCreateLayout, [java]  view plain copy   public LinearLayout onCre ...

  3. JAVA反射学习网摘

    程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言".从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言.但是JAVA有着一个非常突出的动 ...

  4. linux之普通用户与root用户之间切换

  5. ubuntuOS

    OpenStack icehource for Ubuntu OS 1,网络规划 2,Ntp apt-get install ntp 3,generate secure passwd apt-get ...

  6. 可执行文件(ELF)格式的理解

    摘自http://www.cnblogs.com/xmphoenix/archive/2011/10/23/2221879.html 可执行文件(ELF)格式的理解 ELF(Executable an ...

  7. #include <boost/bind.hpp>

    纯C++风格,没有使用#include <boost/bind.hpp> #include <iostream> #include <algorithm> #inc ...

  8. Dollar Dayz(大数母函数,高低位存取)

    Dollar Dayz Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5655   Accepted: 2125 Descr ...

  9. C#委托的异步调用【转】

    本文将主要通过“同步调用”.“异步调用”.“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊. 首先,通过代码定义一个委托和下面三个示例将要调用的方法: ); //模拟该方法运 ...

  10. Android_Layout_xml布局

    本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/11840079 1.构建xml布局文件 使用android提供的xml ...