继上篇写到数据抓取,数据抓了以后,准备大干一番,结果遇到了大问题,磁力解析的问题。貌似只能通过迅雷离线下载完了后才可以观看,和我之前想象中的完全不一样,这跟我之前的初衷完全不一样,我想要的是可以体验无需现在,类似于爱奇艺一样 流畅的播放。所以,在折腾了N多资料以后,发现了一些窍门,网上有很多说法,比如:
某一个帖子的部分内容:
找了几天资料以后,我发现或许我走错了路,磁力解析并不是通过算法解析出来的,这些文件都基于一些离线的缓存服务器,比如:迅雷,旋风,云盘 等等。
通过这些我想到,我无法架构这些离线服务器,我能不能通过这些离线服务器和固定的Hash去获取这些文件,达到我要播放的目的。想到这,我就疯狂的在网上找为数不多的资料,发现还真有成功的案例,这一下就刺激起我的劲头了。
废话不多说。先贴一段关于解析的代码:
class="brush:csharp;gutter:true;"> List<dhtItemDTO> items = new List<dhtItemDTO>(); string xl_jxurl = string.Format("http://i.vod.xunlei.com/req_subBT/info_hash/{0}/req_num/1000/req_offset/0/", hashKey); CommHttp.HttpProc jxpro = new CommHttp.HttpProc(xl_jxurl); jxpro.encoding = Encoding.UTF8; string jxjson1 = Server.UrlDecode(jxpro.Proc()); var item = JsonConvert.DeserializeObject<dhtrespDTO>(jxjson1); if (item != null && item.resp.record_num > 0) { foreach (var jxitem in item.resp.subfile_list) { listDHT.Add(new dhtShowDetailDTO() { title = jxitem.name, key = item.resp.info_hash, keytype = 1, index = jxitem.index, filesize = jxitem.file_size / 1024 / 1024 + "Mb" }); //解析HASH数据 } }
进阶篇就先写到这,附带一下我这款APP的截图,下一篇文章会说明解析的具体思路和部分解析代码。
最后 写上 QQ技术交流群:485247202 希望可以一些探讨和交流技术和心得