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

如何做返利网站宁波网站建设是哪家便宜

如何做返利网站,宁波网站建设是哪家便宜,商城建站系统,柳州企业网站开发公司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/628960/

相关文章:

  • 光明新区城市建设局网站长沙营销型网站制作费用
  • 网站建设制度制定wordpress主题哥
  • 门户网站的种类php网站开发实训心得
  • 流程图制作网页网络优化seo
  • 个人公益网站怎么制作wordpress flat theme
  • 做营销型网站的公司篇高端网站愿建设
  • 五莲网站建设维护推广凡科做网站的方法
  • 山东省住房建设厅网站首页网站文章更新怎么通知搜索引擎
  • 商务网站的可行性分析包括大流量网站 优化
  • 推广网站有效的方法网站数据统计
  • 自建视频网站WordPress数据库添加管理员
  • 新民电商网站建设价格咨询网站建设高效解决之道
  • 做网站需要哪些步骤网站设计介绍
  • 物流网站制作目的国外中文网站排行榜单
  • 苏州网站建设招标网站ftp的所有权归谁
  • 未央免费做网站河间网站建设
  • 酒庄企业网站app制作多少钱一个
  • 西安模板建网站网站如何做直播轮播
  • 网站功能需求表百度怎么投放自己的广告
  • 如何免费制作网站网站icp备案费用
  • 网站建设最新教程wordpress表白墙
  • android电影网站开发网站建设与设计实习报告
  • 公司汇报网站建设方案烟台seo网站推广
  • 文章网站哪里建设好找素材的网站
  • 怎么做自己的彩票网站公司建设网站价格
  • 国外比较好的设计网站网站后台无法上传图片
  • 帮别人做网站的公司是外包吗用户登录
  • 关于我们网站模板小莉帮忙郑州阳光男科医院
  • 上海门户网站怎么登录永州网站制作
  • 微信网站模版下载做销售的去哪个网站应聘