StuckGraber

抓取在线音乐播放器正在播放的歌曲并下载,支持QQ音乐,酷狗音乐,酷我音乐,咪咕音乐

  1. // ==UserScript==
  2. // @name StuckGraber
  3. // @namespace copws.github.io/StackGraber
  4. // @version 0.1
  5. // @description 抓取在线音乐播放器正在播放的歌曲并下载,支持QQ音乐,酷狗音乐,酷我音乐,咪咕音乐
  6. // @author copcin
  7. // @match https://y.qq.com/n/ryqq/player
  8. // @match https://www.kugou.com/song/*
  9. // @match https://www.kuwo.cn/play_detail/*
  10. // @match https://music.migu.cn/v3/music/player/audio
  11. // @license GNU GPLv3
  12. // @grant GM_setClipboard
  13. // ==/UserScript==
  14.  
  15. (function() {
  16. 'use strict';
  17.  
  18. window.onload = function() {
  19. HotKeyHandler.Init();
  20. }
  21. var HotKeyHandler = {
  22. currentMainKey: null,
  23. currentValueKey: null,
  24. Init: function() {
  25. HotKeyHandler.Register(0, "D",
  26. function() {
  27. var audios = document.getElementsByTagName("audio");
  28. GM_setClipboard(audios[0].src);
  29. alert("下载链接已复制到剪贴板");
  30. });
  31. },
  32. Register: function(tag, value, func) {
  33. var MainKey = "";
  34. switch (tag) {
  35. case 0:
  36. MainKey = 17; //Ctrl
  37. break;
  38. case 1:
  39. MainKey = 16; //Shift
  40. break;
  41. case 2:
  42. MainKey = "18"; //Alt
  43. break;
  44. }
  45. document.onkeyup = function(e) {
  46. HotKeyHandler.currentMainKey = null;
  47. }
  48. document.onkeydown = function(event) {
  49. //获取键值
  50. var keyCode = event.keyCode;
  51. var keyValue = String.fromCharCode(event.keyCode);
  52. event.preventDefault();
  53. if (HotKeyHandler.currentMainKey != null) {
  54. if (keyValue == value) {
  55. HotKeyHandler.currentMainKey = null;
  56. if (func != null) func();
  57. }
  58. }
  59. if (keyCode == MainKey) HotKeyHandler.currentMainKey = keyCode;
  60. }
  61. }
  62. }
  63. })();