首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何优雅的收听“猫耳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秒呦~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180519G0HSPZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券