首页 > 其他分享 >js获取抖音视频信息配合服务器自动下载

js获取抖音视频信息配合服务器自动下载

时间:2023-05-26 11:34:54浏览次数:42  
标签:info axios const 音视频 js old dy 服务器 document

引入axios

方便发送请求

解析当前页面获取视频信息

把数据发送到服务器

注意端口号,1024以上浏览器可能会拦截,认为不安全
重复发送,防止连续重复发送,手动清除定时器

点击查看代码
 
// 导入axios.pos
let script = document.createElement('script');
script.src = "https://unpkg.com/axios/dist/axios.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
 
class DySender {
  constructor() {
    this.old = null;
    this.interval = null;
  }

  getDyOne(info) {
    return info.length === 1 ? info[0] : info[1];
  }

  dyInfo() {
    const dy = {};
    dy.stat = document.querySelector('.OFZHdvpl').innerText;
    const info = this.getDyOne(document.querySelectorAll('.video-info-detail'));
    dy.id = info.dataset.e2eAwemeId;
    dy.desc = info.innerText;
    dy.src = this.getDyOne(document.querySelectorAll('video')).currentSrc;
    dy.reply = this.getDyOne(document.querySelectorAll('#videoSideBar')).innerText;
    dy.now = new Date().toLocaleString().replaceAll('/', '-');
    return dy;
  }

  sendDy() {
    const dy = this.dyInfo();
    if (this.old && this.old.id === dy.id) {
      return 'skip';
    }
    axios.post('http://localhost:600/receiver/movie', {
      url: window.location.href,
      data: dy,
    }).then(
      (res)=>{
        console.log(res.status)
        console.log('success '+dy.desc)
      }
    );
    this.old = dy;
  }

  startSending() {
    this.interval = setInterval(() => {
      this.sendDy();
    }, 1000);
  }

  stopSending() {
    clearInterval(this.interval);
  }
}

const dySender = new DySender();
dySender.startSending();

标签:info,axios,const,音视频,js,old,dy,服务器,document
From: https://www.cnblogs.com/adenosine/p/17237749.html

相关文章

  • js对象遍历和拷贝
    letobj={name:'user1',age:12,gender:'man'}for(letattrinobj){console.log(attr,obj[attr])}constkeys=Object.keys(obj)constvalues=Object.values(obj)console.log(Object.keys(obj))console.log(Object.values(obj))   letobj......
  • 解决npm npm does not support Node.js
    原因:node.js和npm版本不对应参考官网版本对应(https://nodejs.org/zh-cn/download/releases/),下载对应的node.js版本和更新npm版本npmupdate常用命令使用 npm-check检查更新npminstall-gnpm-checknpm-check2.npm-upgrade更新......
  • js数据解构
    1、变量比值多可以设置变量默认值 解构let[a,b,c,d='aaa']=[12,34,24]2、变量比值少可以用剩余参数解构let[a,...b]=[11,22,44,55]//a11b[22,44,55]3、按需赋值let[a,,b]=[5,6,9]4、数组嵌套解构let[a,b,arr]=[1,2,[5,8,9]]let[a,b,[c,d,e]]=[1,2,[5,8,9]]5、......
  • Nodejs 应用编译构建提速建议
    编译构建的整体过程拉取编译镜像拉取缓存镜像拉取项目源码挂载缓存目录执行编译命令(用户自定义)持久化缓存上传编译镜像为什么在本地构建就快,但编译机上很慢在编辑机上每次的构建环境都是全新的,完成一次构建比本地需要多一些步骤:现成的全局包缓......
  • js防抖和节流
    1.什么是节流(throttle)和防抖(debounce)概念节流(throttle):是函数在一定时间内,不管调用了多少次,实际只会在最后的时候执行一次防抖(debounce):是函数在一定时间内,每次调用,都会重置倒计时,直到规定时间内没有再次调用,才会执行区别这里以关门当作函数执行前等待时间时的操作;以发车......
  • Fastjson 很快,但不适合我....
    作者:nyingping来源:juejin.cn/post/7215886869199863869记者:大爷您有什么特长呀?FastJson:我很快。记者:23423乘以4534等于多少?FastJson:等于2343.记者:??FastJson:你就说快不快吧!这个略显马丽苏的标题,各位看官将就着看吧。主要是怕被喷。FastJson真的很好,我用不用我喜不......
  • JS的异步化特征async await
    参考:https://segmentfault.com/a/1190000007535316https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promisehttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/awaithttps://developer.mozilla.org/zh-CN/......
  • 浅谈云服务器有哪些优点?
    目前,云服务器大有赶超虚拟主机、VPS和传统物理服务器,成为最具潜力占领互联网服务托管平台市场最大份额的新兴IT部署模式。最近,各大云服务商纷纷推出低价云服务器、免费试用、免费领取等活动,并在各大媒体投放大量广告,谋求占据更高的市场份额。那么,云服务器到底有哪些优势?归根到底,云......
  • 记录一次服务器磁盘爆满问题
    服务器磁盘满了!!!事发突然,我在给博客的图片新增的时候,发现上传文件和下载文件一直报错。因为我用的是1Panel面板去管理服务器,话不多说看图:一开始我还不知道发生了什么,一直以为是这个面板出了问题,然后我就一直刷新,强制刷新。发现并无卵用。然后我就去控制台敲命令,想下个宝塔试试,......
  • P4557 [JSOI2018]战争 题解
    闵可夫斯基和前言入门建议看吉老师(吉如一)的计算几何入门到放弃。感觉应该是讲的最通俗易懂的了。本文借鉴了Winxp的博客,以及吉老师视频中的思路。写这篇博客的初衷是因为我作为一个初学者,此题里的题解对我来说理解起来不算太难,但是实现起来细节比较多,题解里也没有很详细地去解......