当前位置: 首页 > news >正文

wordpress著名网站微信小程序制作开发平台

wordpress著名网站,微信小程序制作开发平台,响应式网站 cms,网络推广公司哪里好1. 找到视频播放网站 百度一下 龙珠视频播放 精挑细选一个可以播放的网站。 如#xff1a;我在网上随便找了一个播放网站#xff0c;可以直接在线播放 https://www.xxx.com/play/39999-1-7.html 这里不具体写视频地址了#xff0c;大家可以自行搜索 2.分析网页DOM结…1. 找到视频播放网站 百度一下 龙珠视频播放  精挑细选一个可以播放的网站。  如我在网上随便找了一个播放网站可以直接在线播放   https://www.xxx.com/play/39999-1-7.html 这里不具体写视频地址了大家可以自行搜索  2.分析网页DOM结构 找出视频资源地址 可以看到 整块播放内容在 td#playleft 下的 iframe 引入。 验证一下把 https://xxx/yun/?urlhttps://XXX/20221016/npV6fcC2/index.m3u8 地址在浏览器内直接访问 发现可以正常播放视频 那这串地址就是我们所需要的视频文件资源路径。那我们接下来就需要想办法根据这个路径把视频保存到本地。 3.批量获取视频播放地址 虽然通过第二步的操作 我们可以拿到了第一话的视频资源地址但是是手动完成的。需要想办法能批量的拿到第一部153话的所有资源地址。 想拿到所有视频的视频资源地址的前提是拿到所有视频的播放地址。所以我们要先想办法拿到每一集的播放地址。 点击播放第1话 第2话 第3话 ,可以看到 浏览器URL 分别是 第1话  /play/39999-1-1.html  第2话 /play/39999-1-2.html   第3话/play/39999-1-3.html  分析视频网站的地址不难看出 规律 递增n就可以获取到每一话的在线播放地址 let n 1 let urlArr [] while(n 154){urlArr.push(/play/39999-1- n.html ) n } console.log(urlArr )4.批量获取视频资源地址 通过第三步我们已经拿到了 每一话的播放地址那就要想办法拿到 每一个播放地址下的td#playleft 下的 iframe 的 src。 1.第一次尝试 直接获取 /play/39999-1-1.html 的页面结构尝试从返回的dom中找到 td#playleft 下的 iframe。但是并没有找到相关的DOM推测应该是动态添加的 节点第一次尝试失败 var request require(request);request(https://www.xxx.com/play/39999-1-1.html, function (err, res, body) {console.log(err, res, body); }); 2.第二次尝试 既然直接拿不到那就等页面加载完成再去拿所以第二种方案就是 在本地项目中 通过 iframe引入  https://www.xxx.com/play/39999-1-1.html     等 iframe onload之后再去获取iframe.contentDocument 下的  bodyiframe idiframe srchttps://www.xxx.com/dragon/39999-1-1.html onloadloadPage() frameborder0/iframe /bodyscript function loadPage(e){let iframe document.getElementsByTagName(iframe)[0]var iframeDocument iframe.contentDocument || iframe.contentWindow.document;console.log(iframeDocument ) } /script但是呢 并没有拿到 , 虽然拿到了ifram的dom但是呢 拿不到 contentDocument。 这是为什么呢 新机呲挖一呲冒黑套呲  真相只有一个 iframe src 的跨域问题   方案二失败  3.第三次尝试 第三次的尝试是和第二次思路一样的所以主要任务是解决 iframe的跨域问题 iframe idiframe src/dragon/39999-1-1.html onloadloadPage() frameborder0/iframe 代理一下吧 # 龙珠server {listen 9001;location / {root E:/dragonBall;index index.html index.htm;try_files $uri $uri/ router;}location /dragon {proxy_pass https://www.xxx.com/play;}location /_guard {proxy_pass https://www.xxx.com;}location /template {proxy_pass https://www.xxx.com;}location /static {proxy_pass https://www.xxx.com;}} 至此 终于拿到了 在线播放页面的全部DOM数据 那么简单的处理下数据 就可以拿到每一话的 视频资源地址了 这里直接循环了也可以直接使用第3步获取的视频播放地址逻辑是一致的 scriptlet num 1let arr []function loadPage(e){arr localStorage.getItem(streamUrl)if(arr){arr JSON.parse(arr)}else{arr []}if(num 154) return let iframe document.getElementsByTagName(iframe)[0]var iframeDocument iframe.contentDocument || iframe.contentWindow.document;var iframeElement iframeDocument.getElementById(playleft).getElementsByTagName(iframe)[0];let streamUrl iframeElement.attributes.src.value.split(?url)[1]console.log(这是第 num 话:streamUrl)arr.push({index:num,url:streamUrl})num localStorage.setItem(streamUrl,JSON.stringify(arr))iframe.src /dragon/39999-1-num.html} /script 5.根据m3u8的资源地址下载视频 首先封装一个下载视频的函数 function downloadMedia (opt, callback) {// 测试视频如果链接失效的话就自己找一个let url opt.url ;let output opt.output || video;let filename opt.index .mp4;let title opt.title || 测试视频;if (!fs.existsSync(output)) {fs.mkdirSync(output, {recursive: true,});}(async function() {try {console.log(准备下载...);await converter.setInputFile(url).setOutputFile(path.join(output, filename)).start();console.log(下载完成!);if ( typeof callback function ) callback(opt.index);} catch (error) {console.log(error)throw new Error(哎呀出错啦! 检查一下参数传对了没喔。, error);}})(); } 然后 再遍历一下我们拿到的视频资源地址 轮询调用一下 下载方法 就可以了 let arr [{index: 1,url: https://xxx/20221016/npV6fcC2/index.m3u8},...{index: 153,url: https://xxx/20221016/6AaX2hCl/index.m3u8} ]let callback function(index){let indexName arr[index - 1].indexif(indexName.length 1){indexName 00 indexName} if(indexName.length 2){indexName 0 indexName}downloadMedia({url:arr[indexName].url,index:arr[indexName].index},callback) }downloadMedia({url:arr[0].url,index:001},callback) 我现在设置的是一次下载1个文件也可以修改下同时下载多个注意别把 视频网站搞崩了。 总结 主要问题还是获取到资源地址。处理好资源地址的问题就可以轮询下载了。 附 gitee源码 仓库 - wangbanglei (wangbangleilei) - Gitee.com 注仅供学习使用
http://www.w-s-a.com/news/608446/

相关文章:

  • 做网站找哪个平台好wordpress 3.9 性能
  • 大兴模版网站建设公司企业网站备案案例
  • h5建站是什么wordpress客户端 接口
  • 济南自适应网站建设制作软件下载
  • 望都网站建设抖音广告投放收费标准
  • 网站制作软件排行榜上海市网站建设公司58
  • 什么是网站风格中国工商网企业查询官网
  • 专业建设专题网站wordpress lnmp wamp
  • 环保网站 下载页网站
  • 开源小程序模板江门关键词优化排名
  • 网站开发 知乎房地产型网站建设
  • 买完域名网站怎么设计wordpress 纯代码
  • 公司网站怎么做百度竞价宁波网络公司哪家好
  • 河西网站建设制作微信分销系统多层
  • 网站制作完成后应进入什么阶段石家庄网站建设找哪家好
  • 南通外贸网站推广自在源码网官网
  • 个人网站模板html下载餐饮vi设计案例欣赏
  • 高端网站建设wanghess网站开发售后服务承诺
  • 江西网站建设费用企业网站推广的方法有( )
  • 中国十大网站开发公司企业网站建设的要素有哪些
  • 网站防站做网站吉林
  • 嘉定区网站建设公司企业信息公示查询系统官网
  • 一个具体网站的seo优化产品介绍网站模板下载地址
  • 怎么做网站在网上能搜到你哈尔滨网站建立公司
  • 做家旅游的视频网站上海百度公司总部
  • 微信小程序公司网站怎么制作区块链平台定制开发
  • 网站资质优化ip地址域名解析
  • 如何搭建个人网站ps做网站首页怎么运用起来
  • 中小企业商务网站建设wordpress 安全加固
  • asp网站开发设计文档php建设网站怎么用