摘要:前言任何語言都是可以爬蟲的,只要你懂的常用的協議啥的就可以模仿瀏覽器的行為獲取你想要的數據。這里我將教大家一個簡單實用的案例如何獲取全民歌的下載鏈接。這就獲得所有參數最終的體了。這塊沒啥好說的,不是我們的教程范圍。我一般用的,,。
前言
任何語言都是可以爬蟲的,只要你懂的常用的http協議啥的就可以模仿瀏覽器的行為獲取你想要的數據。這里我將教大家一個簡單實用的案例:如何獲取全民K歌的下載鏈接。
ps: 這主要是教大家一個入門級的爬蟲,不是希望大家去跳過vip下載...
這里有碼云的代碼片段是main的解析可以參考下: 碼云代碼片段
那種專業fildder這類軟件抓包我就不提了,免得文章顯得更加復雜化。
推薦用谷歌瀏覽器容易看。
1.打開瀏覽器進去一個分享鏈接
2.按F12進入開發者模式
3.點擊NetWork
4.最好重新刷新一下頁面看下所有訪問路徑
只要是網頁瀏覽器就可以抓到所有的訪問請求。接下來就是尋找那個音樂的鏈接了:
等你找到你會發現很顯然,那個路徑沒有任何規律,也不知道下載路徑如何而來。但是只要思想不滑坡,辦法總比困難多。我們找一下是否可以在HTML這些直接找到現成的鏈接,音樂的播放標簽一般都是 audio
我們去Element查找這個節點的時候可以發現確實有下載鏈接
這樣我們大概知道鏈接的地址了!我們就可以放開手擼代碼了!
這里我推薦用Jsoup,我用的是版本是1.11.2。
maven: http://www.mvnrepository.com/...
public class QuanMinJousp { public static void main(String[] args)throws Exception { //這里是分享地址: String url ="https://kg2.qq.com/node/play?s=571cI75H1xb495Eq&shareuid=609c9b812624338a&topsource=a0_pn201001006_z11_u21643941_l0_t1534223843__"; Connection tempConn = Jsoup.connect(url); //模擬瀏覽器的請求頭 tempConn.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"); //開始連接HTTP請求。 Connection.Response demo = tempConn.ignoreContentType(true).method(Connection.Method.GET) .execute(); Document documentDemo = demo.parse(); //這里就是獲取該頁面的HTML元素。 System.out.println(documentDemo.toString()); } }
打印出來的HTML不出所料,就找不到audio的標簽,很明顯是后續才加載出這個標簽來播放音樂的。那這個下載地址是哪里來的呢。我們可以在打印出來的HTML可以找到其他線索:
不出所料,在所有script標簽中 的第三個我們發現了貓膩。
所有的數據都在這個標簽里,包括評論,送花,歌曲鏈接等等所有都在里面。我們拿到標簽里的內容就可以了。里面的參數竟然是標準的json格式更加天助我也!我們用代碼去掉閑雜人等。
Elements scriptElements = documentDemo.getElementsByTag("script"); String initScriptStr = scriptElements.get(2).toString(); String jsonStr = initScriptStr.substring(initScriptStr.indexOf("{"), initScriptStr.indexOf("; ")); //這就獲得所有參數最終的json體了。 System.out.println(jsonStr);
接下來就是Json解析成自己的實體類對象啥的了。這塊沒啥好說的,不是我們的教程范圍。我一般用的simpleJson,gson,fastJson。阿里巴巴的我用的多一點。
最后我把這段代碼功能接入我的微信公眾號實現效果:
小伙伴們可以關注公眾號體驗一波:
該教程僅供學習參考,不涉及商業,涉及侵權啥的任何問題本人概不負責啊哈哈哈哈哈略略略
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76739.html
摘要:前言任何語言都是可以爬蟲的,只要你懂的常用的協議啥的就可以模仿瀏覽器的行為獲取你想要的數據。這里我將教大家一個簡單實用的案例如何獲取全民歌的下載鏈接。這就獲得所有參數最終的體了。這塊沒啥好說的,不是我們的教程范圍。我一般用的,,。 前言 任何語言都是可以爬蟲的,只要你懂的常用的http協議啥的就可以模仿瀏覽器的行為獲取你想要的數據。這里我將教大家一個簡單實用的案例:如何獲取全民K歌的下...
摘要:學習筆記七數學形態學關注的是圖像中的形狀,它提供了一些方法用于檢測形狀和改變形狀。學習筆記十一尺度不變特征變換,簡稱是圖像局部特征提取的現代方法基于區域圖像塊的分析。本文的目的是簡明扼要地說明的編碼機制,并給出一些建議。 showImg(https://segmentfault.com/img/bVRJbz?w=900&h=385); 前言 開始之前,我們先來看這樣一個提問: pyth...
摘要:用例運行爬蟲命令基本語法是否需要項目存在當然是不需要咯貌似這個命令是不依托一個項目而直接運行一個爬蟲的命令。用例我終于寫完了,喜歡的就收藏推薦一下吧,這樣我就會更有動力寫新的教程了,哇哈哈 0. 基本環境說明 本文截圖及運行環境均在Win8上實現(是的,我放假回家了,家里的機器是win8的沒有辦法),但基本步驟與win 7環境基本相同。(應該把~)ps:我后來換了臺win7的電腦,所...
閱讀 1090·2021-09-22 15:19
閱讀 1707·2021-08-23 09:46
閱讀 2231·2021-08-09 13:47
閱讀 1411·2019-08-30 15:55
閱讀 1414·2019-08-30 15:55
閱讀 1978·2019-08-30 15:54
閱讀 2801·2019-08-30 15:53
閱讀 717·2019-08-30 11:03