一.先自我回顾一下实现QQ音乐搜索功能的思路流程:正则表达式
第一步:找到存储着音乐详细信息的文件的URLjson
第二步:访问咱们所找到的URL 获得响应体内存
第三步:解析响应体 获取咱们所须要的数据博客
反思:QQ音乐的搜索功能的思路比较直观清晰 主要难点在于解析数据这一环节 主要是用到了json格式的转换 列表的返回 循环的使用 时间格式的转换 这些知识点class
二.再回顾一下到目前为止我所想到的实现QQ音乐下载功能的思路流程:音频
第一步:找到音频文件(内存最靠谱的那个),获得他的URL(1),并观察:咱们发现,URL(1)中变量是vkey变量
要达到最终的下载目的,咱们必须访问音频文件的URL(1)搜索
因此咱们要找到一种能够自动寻找到任意一首歌的音频文件所对应的URL(1)循环
因此在哪里找呢??下载
第二步:既然vkey是变量,那咱们必需要找到存储着vkey值的文件啊
找到上述这个文件以后,咱们还要把他的URL(2)记录下来
这样,才能经过访问他的URL(2),获得响应体,而后解析,获得咱们所要的vkey
而后,咱们再分析URL(2)分析并找到其中的变量,而后最后构造出通配表达式
第一步:与思路一相同
第二步:一样的,咱们仍是先找到存储vkey值的文件
可是此时咱们多留个心眼 观察一下访问URL(2)所获得的响应体中的数据
咱们发现,其中的某几个数据拼凑在一块儿以后,居然是音频文件的URL(1)
咱们彷佛只须要给URL(2)构造一个通配表达式就好了
总结比较一下思路一与思路二:其实在打这篇博客以前我我的是认为思路二比思路一要简单的 但那只是想象出来的结论 写完这篇博客 思路上清晰了许多 进入的一些误区也走了出来 (看来写写博客好处仍是挺多的hhh) 但其实从操做流程上来看,他们有一个共性:就是都要构造一个URL(2)的通配表达式
而不一样之处在于:在访问URL(2)所获得的响应体中,思路一与思路二所要解析出的数据不一样
(固然,到底哪一个思路操做起来更加简便,还得等操做以后方能下结论)
一些疑惑:
发现URL(2)是被转码了的 那看的 是真的难受 这么难受的URL构造通配表达式的时候会不会很难啊(好比运用正则的时候) 到底要不要进行一波转码呢???
实时更新解答:的确要解码哦!!一是URL(2)更加清晰直观,二是运用正则表达式的时候更加简便
解码后发现仍是好恶心啊这个URL(2)居然还有URL专属特殊字符(什么鬼啊。。。)
因此要怎么解决呢??
上网查!!!
而后手动更改,URL依旧可使用!!!