日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 爬虫 抓取 网易云音乐

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 爬虫 抓取 网易云音乐 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是烤鴨:

? ? ?今天和大家交流一下爬蟲,抓取網易云音樂。只討論技術,不提倡其他的。

1.? ? 找音樂源地址

谷歌瀏覽器 F12 ,找請求類型是 Media的。

??

?

2.? ? ?找請求鏈接

切換請求類型到 All,看 Response 包含 mp3 鏈接的。

?

3.? ? ?分析請求

請求頭就不說了,主要是 formData 中有兩個加密參數 params 和 encSecKey.

先去頁面上搜一下 encSecKey 沒有任何結果,說明不是頁面上的,那就很可能是請求或者js來的。

先找一下js,F12 JS,打開每個js搜一下encSecKey,運氣好,第一次就搜到了。

如果沒有加載這個js,先清一下緩存再試,ctrl + shift + del。

?

4.? ? 分析js

先格式化js

格式完,還分析個屁...太長了,果斷放棄了。

?

5.? ? ? 對JS 進行debug

既然不能解析js,就先看看請求參數怎么構造出來的。先看看js哪來的,再去source下找到相應的資源。我們看到是s3域名下的。

格式化之后成這樣。

搜一下 encSecKey ,有3個地方。可以看出第二個地方有點像發請求構造參數的。斷點就打到這。debug看的清楚點。

?

6.? ? ? 根據debug獲取參數

一打debug,就看到請求進來。看鏈接好像是 feedback 獲取評論吧,看下面的兩個 parmas和encSecKey就是要傳的參數了。

播放一首歌曲,獲取播放請求。

7.? ? ?java 代碼嘗試

把上圖的params和 encText 復制,構造請求頭參數,代碼如下

/*** 測試方法*/@Testpublic void test() throws Exception {Map<String, String> params = new HashMap<>();params.put("encSecKey","39c3ef05130d29fe5087a8f34c2bad83a5ba55c469fad98f4bf3259e78f666f503f6e51a15042baf254ed8df00712515b73773882256b0bfd06cad5c6f7152b400ecbfbbd8577bab0b4b32fe3f317242dd265a3397107914d142cf9a7a2c26c76888bbc7dd77254d1b627c1dff218d770aead987fdfe141c9dd527bee691e7f0");params.put("params","Zff/QUCciAB3bqAZIAbjAyA7umXyUkoLWi4jiO/elGeGx/DtZEdV0cnVhdtvMHZtEyGfdtxmnz7phoD/xL3/AXrwN4eSKVFkrPwzublQnlU=");Connection.Responseresponse = Jsoup.connect("https://music.163.com/weapi/song/enhance/player/url?csrf_token=").userAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36").header("Accept", "*/*").header("Accept-Encoding", "gzip, deflate, br").header("Accept-Language", "zh-CN,zh;q=0.9").header("Content-Length", "408").header("Content-Type", "application/x-www-form-urlencoded").header("Cookie", "_iuqxldmzr_=32; _ntes_nnid=9a70f3201fcbd6cf4edb02ba394a65c5,1531897058172; _ntes_nuid=9a70f3201fcbd6cf4edb02ba394a65c5; __remember_me=true; usertrack=ezq0o1tsBG6FVe1fBHrBAg==; _ga=GA1.2.1958241620.1533805677; UM_distinctid=16555e96742221-0bc5c3f6fc14a2-9393265-1fa400-16555e96744b4f; vjuids=-89d787cd4.16555e96924.0.e0fc8f49344fa; vjlast=1534744685.1534744685.30; __gads=ID=d7c480b9588b599f:T=1534744686:S=ALNI_Mbb9QcmO1jlX3On_eF82v6dwLy7gg; vinfo_n_f_l_n3=d99ca1905f8ab07f.1.0.1534744684876.0.1534744691814; __utmc=94650624; WM_TID=ymHXXAelaYj3mXYLUXlOTa5z2N%2B8Wk%2B6; __utmz=94650624.1535686730.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); playerid=46149715; JSESSIONID-WYYY=vcZkU3tA2do87BcvX3NOhUIoP6X%2F6Y9c%2FNUlRYpgUF1%5CIAoUpqTy%2B%5CiuVQOxJV8%2BvXO5VWIAAHDzEB%2BG0fZbRDjzIAtMtG8Wc%5CwXF8Y6FWu19Ajs0%5CjdGpPk0M6wkyrmrDhqTe7idwY452wHPkR3oEUYR0CSmWh1eCBEk%2F1N1ye8Cprn%3A1535693748773; WM_NI=i%2B%2BfZIkp2EH5%2BKEJYTld29ezN9qBqTP%2B3RQ2KF1J93rVMarCp%2BXjakOk2vKmUa%2FduI3lHsMxer2sp99K4uKDg9Hkd6lEiUpufIvdUvdCam64ZTjaYu8wLE4x1Nb82UVOS2I%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eed3d85986ea8cd3c7798f8ba888d45296bdb9afcc6490aaff82ce42bbae989bb42af0fea7c3b92aabf5e587d943a9b0fea6cb3fe9958babdc60b0bcfedae8728ee7bfa3f46094f5fdb3d43a899affabbc39b28a8382f149b4f5988be4618db5fe97ca6797bfe185f843f1b48894d074a7aefe94f333fb95fc96ca50a5e7888ce73eb09ba7b6f37fa697ba85d87ea89daf8eb5409a8ca682dc7ffca984a6b774f392aed9b15f96919dd3cc37e2a3; __utma=94650624.1958241620.1533805677.1535686730.1535693520.2; __utmb=94650624.2.10.1535693520").header("Connection", "keep-alive").header("Host", "music.163.com").header("Origin", "https://music.163.com").header("Referer", "https://music.163.com/").data(params).method(Connection.Method.POST).ignoreContentType(true).timeout(10000).execute();String list = response.body();System.out.println("返回結果值:"+response.statusCode());System.out.println("返回結果:"+list);}

結果如圖:

8.? ? 湊請求參數

對著 1 萬多行的js,看參數是怎么加密的,太扯了。

?

?

?

?

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 喜歡音樂和電影的朋友,歡迎關注烤鴨的世界。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?


剩下的有空繼續寫。

?

總結

以上是生活随笔為你收集整理的java 爬虫 抓取 网易云音乐的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。