Android实现抖音无水印视频,app架构设计【附源码】_top级移动开发

利用Jsoup框架爬取网页中的视频地址:

 Document doc = Jsoup.connect(URL).get();  Elements elements = document.select("video").frist;  String videoUrl = element.attr("src");  

到这发现有一层防爬措施,获取不到视频链接

[](

)2.另一种思路


为解决此问题,反编译拥有此功能的APP后,从smali文件中得到另一种思路

1.将网页保存至本地

  mWebView = new WebView(this);          //允许执行javascript语句          mWebView.getSettings().setJavaScriptEnabled(true);          mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");          mWebView.loadUrl(Url);//从抖音复制的链接          mWebView.setWebViewClient(new WebViewClient() {              @Override              public void onPageStarted(WebView view, String url, Bitmap favicon) {                  super.onPageStarted(view, url, favicon);              }              //当新的 url 即将被加载的时候---->用户点击了 Webview 内容里面的一个超链接的时候会触发该方法的调用              @Override              public boolean shouldOverrideUrlLoading(WebView view, String url) {                  view.loadUrl(url);                  return true;              }              //在页面加载结束时调用。              @Override              public void onPageFinished(WebView view, String url) {                  super.onPageFinished(view, url);                  view.loadUrl("javascript:window.local_obj.showSource('<head>'+" + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");              }              @Override              public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {                  super.onReceivedError(view, errorCode, description, failingUrl);              }          });  

final class InJavaScriptLocalObj {

    @JavascriptInterface      public void showSource(final String html) {         //html为保存的网页代码      }  } 
 **2.使用Jsoup解析本地网页**(此操作写在子线程中) 

Document doc = Jsoup.parse(html);

Element element = doc.select("video").first(); //搜索搜索节点的id 获得element

String videoUrl = element.attr("src");

 **这时发现有时element中会没有数据**    将代码改写为 

if (element != null) {

String videoUrl = element.attr("src");

}else{

//webview重新load网页操作

}

  [](  )三.获取有水印的视频链接后,更改链接  =================================================================================  ## 要如何成为Android架构师?  搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。 大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流的Android架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺; ![](https://s2.51cto.com/images/20210921/1632207834578421.jpg)  > 对应这份技术大纲,我也整理了一套Android高级架构师完整系列的视频教程,主要针对3-5年Android开发经验以上,需要往高级架构师层次学习提升的同学,希望能帮你突破瓶颈,跳槽进大厂; > > **[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://ali1024.coding.net/public/P7/Android/git)**  **最后我必须强调几点:**  1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。 2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识 3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。  你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境

本站由小牛团队全力维护,小牛十年了,大家已经步入中年 。本站源码全部经过团队成员测试并调试,价格可能比其它网站略贵几元钱,不解释!
小牛资源 » Android实现抖音无水印视频,app架构设计【附源码】_top级移动开发

发表评论

全站资源亲测可用,价格略高几元,不解释

立即查看 了解详情