今日头条视频下载器[android下载源码]

少年乘勇气,百战过乌孙。这篇文章主要讲述今日头条视频下载器[android下载源码]相关的知识,希望能为你提供帮助。
在家无聊, 看到赵四大神 写的一个python脚本下载今日头条的工具, 最后他还给出了移动端的样子, 可惜没有源码, 在他的虚心教导下, 看完了他的文章, 我决定自己撸一个, 见笑了:

今日头条视频下载器[android下载源码]

文章图片
今日头条视频下载器[android下载源码]

文章图片

CSDN图片最大值只能传2m, 所以用了两张gif图, 大家见笑了。
下面说一下具体的实现过程, 这一点说实在, 基本上是翻译了赵大神 的文章, 没啥要说, 但是还是记录一下吧。
具体的实现步骤大概可以用下的思路概括:
今日头条视频下载器[android下载源码]

文章图片

说得挺高上, 其实实现起来还是蛮简单的。
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呢? 这主要是抓包的过程中发现了我们搞的地址, 会重定向很多次, 像这样的:
今日头条视频下载器[android下载源码]

文章图片

本来是打算自己写个HttpUrlConnection, 或是使用Volley, 但是发现处理这种多次的301, 302不是特别方便, 所以就使用了sequre的ok3,比较爽。具体的步骤, 需要请求哪些参数, 大家可以去看看赵四大神的文章, 写的很清楚, 虽然是python写的, 相信大家能看懂。
  1. 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, 比较小, 我也就懒得存了, 大家喜欢可以看看。好了, 今天第一天上班又加班了, 我要回家吃饭了, 谢谢。。。。

    推荐阅读