如何優雅的收聽「貓耳FM」
點擊下方空白區域有驚喜!
▼
「版 權 說 明」
瀏覽者可將本文用於個人學習、研究或分享,以及其它非商業/盈利性用途,侵刪。轉載請註明出處
s
作為一名二次元資深宅來說
今天給大家安利一個彈幕音圖APP
——貓耳FM
貓耳FM的LOGO特別萌!
(咳,我不會說我是貓奴的!)
不得不說
作為第一家彈幕音圖APP
電台
音樂
翻唱
小說
廣播劇
等等等等
應有盡有
一不小心 耳朵懷孕
本期教大家如何優雅的下載手機鈴聲板塊全部鈴聲
先看下我獲得的數據吧
教程開始
Fiddler抓取數據包分析請求鏈接
配置好fiddler環境之後
(還不知道怎麼配置的小夥伴請自行搜索一下教程吧)
打開「貓耳FM」
點到如下界面
選擇 「鈴聲」
再按照 「播放量」進行排序
接下來
清空小提琴已截獲的數據包
(快捷鍵 Ctrl+X)
因為我們本次要抓取全部鈴聲數據
所以要把鈴聲界面往上滑
讓APP載入出第二頁的鏈接形式
進行翻頁參數的分析
我們將獲得如下鏈接
紅框中就是翻頁參數
我們很容易獲得該鈴聲的名稱和下載地址
訪問限制分析
先不著急寫爬蟲
雙擊該鏈接在瀏覽器中打開一下
看一下有沒有限制
然後
我們發現
不過難不倒我
我們繼續分析
點擊Raw
我們可以看到該請求是Get並沒有什麼Post參數
這就排除了鏈接缺少參數導致的非法訪問問題
無論怎麼curl一下看看它具體缺什麼吧
選中該鏈接
點擊fiddler左上角的File
點擊ExportSessions
再選擇 SelectSessions… 並單擊
彈出
點擊 Next 保存任意位置
用文本編輯器打開剛剛導出的文件
這裡面就是curl命令了
經過分析
最後確定
"User-Agent","Accept","equip-code","Cookie"
這四個缺少哪個都不能返回一個完整的Json數據
分析就告一段落
下面我們開始編碼吧
編 寫 爬 蟲
代碼比較簡單
直接在訪問請求中加入Hearder參數
即可訪問
翻頁參數哪裡我也偷了個懶
按照總量/16
心算出總頁數直接循環
值得一提的是
訪問的時候需要HTTPS協議
如果使用HTTP的話會報出
的錯誤
而程序在運行的時候也會報
這個不要緊
我們只要重寫一個類繼承HttpClient即可
目的是跳過證書校驗過程
publicclass MyClient extends DefaultHttpClient {
public MyClient() throws Exception {
super();
SSLContext ctx =SSLContext.getInstance("TLS");
X509TrustManager tm = newX509TrustManager() {
@Override
public voidcheckClientTrusted(X509Certificate[] chain, String authType) throwsCertificateException {
}
@Override
public voidcheckServerTrusted(X509Certificate[] chain, String authType) throwsCertificateException {
}
@Override
publicX509Certificate[] getAcceptedIssuers() {
returnnull;
}
};
ctx.init(null, newTrustManager[] { tm }, null);
SSLSocketFactory ssf = newSSLSocketFactory(ctx, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm =this.getConnectionManager();
SchemeRegistry sr =ccm.getSchemeRegistry();
sr.register(newScheme("https", 443, ssf));
}
}
大吉大利 晚上吃雞
不出10分鐘
我們需要的鈴聲名稱和下載地址就全都獲取到了
這是我結構化數據之後的結果
有了下載地址
然後 不用我教了吧
您看此文用
·
秒,轉發只需1秒呦~
TAG:跡路時光 |