電腦使用谷歌瀏覽器或者QQ瀏覽器的時候。。。。。。。說不清楚,仍是看圖吧git
大概意思就是,只要網頁上須要播放,只要能播放而且開始播放,這個過程就確定會請求到相關的音樂資源,而後就能夠拿到下載地址了。github
固然,問題也有,1是防盜鏈,下載地址確定是有時效的,但影響不大,2是清晰度,這個應該沒得挑了,標清無疑,3是全自動問題,偶然打開網頁的源代碼,看到了「禁止js模擬點擊等字樣的註釋」,預測是有相關防禦操做,具體也懶得測試了,就假設不能全自動。瀏覽器
總體解決方案用一句廢話來形容就是「音樂一響,黃金萬兩」。。。。。。。。app
其實邏輯很簡單,就是在頁面上嵌套一個WebView,而後打開音樂網站,由用戶自由操做,只須要監聽WebView訪問的全部的url便可,這樣的話,只要用戶操做一下播放,音樂一響,url裏面確定會有一條是這個音樂的臨時資源地址,就是帶有.mp3或者是.m4a的url,這個就是咱們想要的。。。ide
Android原生的WebView播放不了網易雲音樂,其餘的我也就沒試了,就假設都播放不了的,解決方案:找個第三方的WebView的升級版,一抓一大把吧,而後就找到了這個:AdvancedWebView測試
傳送門:https://github.com/delight-im/Android-AdvancedWebView網站
用法與WebView基本無二,就很少廢話了,核心代碼在一段:url
wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { ALog.e("訪問的URL1:" + request.getUrl()); if(request.getUrl().toString().indexOf("orpheus")>=0){ ALog.e("屏蔽跳轉"); return true; } return false; } }); wv.loadUrl("https://y.qq.com");
屏蔽跳轉這裏主要是網易雲音樂會自動嘗試調起app,這個是禁止的,不然播放的時候就會顯示沒法訪問了,而這個「orpheus」就是調起網易APP的暗號,QQ音樂也會有對應的暗號,可是QQ音樂沒有強制調起,因此就懶得理了。spa
因此,在全部打印出來的url中找到.mp3結尾或者.m4a等結尾的url,那就是下載地址了,原理就是迅雷的嗅探視頻是一個道理。code