qy下载

下载qy视频

  1. // ==UserScript==
  2. // @name qy下载
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.0.6
  5. // @description 下载qy视频
  6. // @author xahon86482
  7. // @license MIT License
  8. // @run-at document-start
  9. // @grant GM_download
  10. // @include *://*.iqiyi.com/*
  11. // @require https://gf.qytechs.cn/scripts/440006-mono/code/mono.js?version=1021983
  12. // ==/UserScript==
  13.  
  14.  
  15. (function () {
  16. var mono = window['mono-descargar'];
  17. var $ = mono.jQuery;
  18. var md5 = mono.md5;
  19. var filename = mono.filename;
  20. var onRequest = mono.onRequest;
  21. var errCode = mono.FAIL_TO_DEFAULT;
  22. var idKey = 'mono-dsg-id';
  23.  
  24. var metaCache = {}
  25.  
  26. onRequest(({url, resp, _body, method}) => {
  27. if (resp &&(url.indexOf('/dash') !== -1)) {
  28. metaCache.url = 'www.iqiyi.com';
  29. var videos = JSON.parse(resp)?.data?.program?.video;
  30. console.log('videos', videos)
  31. if (videos && videos.length > 0) {
  32. videos.forEach((item) => {
  33. if (item.m3u8) {
  34. metaCache.m3u8Data = item.m3u8;
  35. }
  36. })
  37. }
  38. }
  39. });
  40.  
  41. var getItemByMeta = (meta, selector='', selClass='') => {
  42. var id = `aqy-${md5(meta.m3u8Data)}`
  43. if ($(`[${idKey}=${id}]`).length > 0 || !meta.m3u8Data) return null;
  44. var $el = null;
  45. if (selector) $el = $(selector)
  46. if ($el.length > 0 && selClass) {
  47. var ps = $el.parentsUntil(selClass);
  48. if (ps.length > 0) $el = $(ps[ps.length - 1])
  49. }
  50. if ($el.length <= 0) return null;
  51. var container = $el[0];
  52. return { id, url: meta.url, container, meta: meta }
  53. }
  54.  
  55. var cc = () => {
  56. var selector = `.iqp-player-videolayer-inner`;
  57. var item = getItemByMeta(metaCache, selector, '.iqp-player-videolayer')
  58. if (!item) return []
  59. return [item]
  60. }
  61.  
  62. var parser = async function () {
  63. var url = window.location.href;
  64. if (url.indexOf('www.iqiyi.com') !== -1) {
  65. return cc();
  66. } else {
  67. throw [];
  68. }
  69. }
  70.  
  71. if (mono?.init) mono.init({ parser });
  72. })()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址