少年乘勇气,百战过乌孙。这篇文章主要讲述今日头条视频下载器[android下载源码]相关的知识,希望能为你提供帮助。
在家无聊,
看到赵四大神 写的一个python脚本下载今日头条的工具,
最后他还给出了移动端的样子,
可惜没有源码,
在他的虚心教导下,
看完了他的文章,
我决定自己撸一个,
见笑了:
文章图片
文章图片
CSDN图片最大值只能传2m, 所以用了两张gif图, 大家见笑了。
下面说一下具体的实现过程, 这一点说实在, 基本上是翻译了赵大神 的文章, 没啥要说, 但是还是记录一下吧。
具体的实现步骤大概可以用下的思路概括:
文章图片
说得挺高上, 其实实现起来还是蛮简单的。
1.分享代码如下, 主要是activity的intent配置, 这个一般人都知道, 我就简单贴一下:
<
activity
android:name=
"
.MainActivity"
android:configChanges=
"
orientation|screenSize|keyboardHidden"
android:screenOrientation=
"
portrait"
>
<
intent-filter>
<
action android:name=
"
android.intent.action.MAIN"
/>
<
category android:name=
"
android.intent.category.LAUNCHER"
/>
<
/intent-filter>
//----------------------分享关键代码------------------------------
<
intent-filter>
<
action android:name=
"
android.intent.action.SEND"
/>
<
category android:name=
"
android.intent.category.DEFAULT"
/>
<
data android:mimeType=
"
image/*"
/>
<
/intent-filter>
<
intent-filter>
<
action android:name=
"
android.intent.action.SEND"
/>
<
category android:name=
"
android.intent.category.DEFAULT"
/>
<
data android:mimeType=
"
text/plain"
/>
<
/intent-filter>
<
intent-filter>
<
action android:name=
"
android.intent.action.SEND_MULTIPLE"
/>
<
category android:name=
"
android.intent.category.DEFAULT"
/>
<
data android:mimeType=
"
image/*"
/>
<
/intent-filter>
<
/activity>
//----------------------分享关键代码------------------------------
在activity中, 我们接收:
if (null !=
getIntent()) {
String extra_text =
getIntent().getStringExtra(Intent.EXTRA_TEXT);
Log.d(TAG, "
the extra text is "
+
extra_text);
if (!TextUtils.isEmpty(extra_text)) {
Pattern p =
Pattern.compile("
[a-zA-z]+
://[^\\\\s]*"
);
Matcher matcher =
p.matcher(extra_text);
if (matcher.find()) {
mBaseUrl =
matcher.group();
Log.d(TAG, "
the target url -->
>
"
+
mBaseUrl);
}
}
}
【今日头条视频下载器[android下载源码]】主要是分享的代码像这样的:
【再牛比的美国人也怕开挂的印度阿三,
在阿三外挂面前都是弱鸡】
http://m.pstatp.com/group/6382357464158831106/?iid=
7548236297&
app=
news_article&
tt_from=
android_share&
utm_medium=
toutiao_android&
utm_campaign=
client_share
(想看更多合你口味的内容,
马上下载 今日头条)
http://app.toutiao.com/news_article/?utm_source=
link
所以需要用正则切一下, 把关键的网址请求出来:
http://m.pstatp.com/group/6382357464158831106/?iid=
7548236297&
app=
news_article&
tt_from=
android_share&
utm_medium=
toutiao_android&
utm_campaign=
client_share
2.网络请求框架是okhttp3
为啥用ok3呢? 这主要是抓包的过程中发现了我们搞的地址, 会重定向很多次, 像这样的:
文章图片
本来是打算自己写个HttpUrlConnection, 或是使用Volley, 但是发现处理这种多次的301, 302不是特别方便, 所以就使用了sequre的ok3,比较爽。具体的步骤, 需要请求哪些参数, 大家可以去看看赵四大神的文章, 写的很清楚, 虽然是python写的, 相信大家能看懂。
- crc32算法
这个我当初感觉很难写, 没想到java大法内部自带了, 很不错有没有:
String temp =
"
hello world"
;
CRC32 crc32 =
new CRC32();
crc32.update(temp.getBytes());
Log.d(TAG, "
crc32 code : "
+
crc32.getValue()));
就是这么简单
4.视频播放软件
这个是采用的gitbub上的一个知名软件jiecao,网址是https://github.com/lipangit/JieCaoVideoPlayer, 大家可以看看, 蛮不错的一款视频播放软件, 都是开源的, 越来越屌啊 希望它。
5.侧滑播放, 删除
这个不说了, RecyclerView中, 比较多的, 也就不说了, 大家看源码就行了。
6.源码
源码是这个: http://download.csdn.net/detail/u013762572/9746448
app_debug版本在这里: http://download.csdn.net/detail/u013762572/9746736, 比较小, 我也就懒得存了, 大家喜欢可以看看。好了, 今天第一天上班又加班了, 我要回家吃饭了, 谢谢。。。。
推荐阅读
- Android 进阶图片加载框架之Glide
- Android ORM——初识greenDAO 3及使用greenDAO 3前应该掌握的一些知识点
- Android中微信抢红包助手的实现(代码整理)
- Android 从图库选择图片,拍照图片,裁剪图片
- android 底部菜单栏实现(转)
- Android开发(《Gradle Recipes for Android》阅读笔记(翻译)2.2——将Eclipse开发的项目导入到AndroidStudio)
- android应用开发之View的大小计量单位(pxdpidpdipsp)
- android 半透明弹窗
- Android目录结构及作用