From fe70165de62592ce367e041edd42c5f82900fe6c Mon Sep 17 00:00:00 2001 From: Sushi <57518856+SushiPython@users.noreply.github.com> Date: Fri, 18 Mar 2022 23:17:18 -0700 Subject: [PATCH] return youtube dislike, innertube fixes, html scraping --- NUXT/plugins/youtube.js | 49 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/NUXT/plugins/youtube.js b/NUXT/plugins/youtube.js index 1568fe1..3714a77 100644 --- a/NUXT/plugins/youtube.js +++ b/NUXT/plugins/youtube.js @@ -120,8 +120,49 @@ const searchModule = { }, - getVideo(id) { - return id; + getRemainingVideoInfo(id, callback) { + String.prototype.decodeEscapeSequence = function() { + return this.replace(/\\x([0-9A-Fa-f]{2})/g, function() { + return String.fromCharCode(parseInt(arguments[1], 16)); + }); + }; + Http.request({ + method: 'GET', + url: `${constants.URLS.YT_URL}/watch`, + params: { v: id } + }) + .then((res) => { + let dataUpdated = res.data.decodeEscapeSequence() + let likes = dataUpdated.split(`"defaultIcon":{"iconType":"LIKE"},"defaultText":{"runs":[{"text":"`)[1].split(`"}],"accessibility":`)[0] + let uploadDate = dataUpdated.split(`"uploadDate":"`)[1].split(`}},"trackingParams":"`)[0].slice(0, -2); + let data = { + "likes": likes, + "uploadDate": uploadDate + } + logger("vidData", data) + callback(data) + }) + .catch((err) => { + logger("codeRun", err, true); + callback(err); + }); + + }, + + getReturnYoutubeDislike(id, callback) { + Http.request({ + method: 'GET', + url: `https://returnyoutubedislikeapi.com/votes`, + params: { videoId: id } + }) + .then((res) => { + logger("rydData", res.data) + callback(res.data) + }) + .catch((err) => { + logger("codeRun", err, true); + callback(err); + }); } } @@ -142,7 +183,7 @@ const recommendationModule = { }, async getVid(id) { - return InnertubeAPI.getVidInfoAsync(id).data; + return InnertubeAPI.getVidInfoAsync(id); }, async recommend() { @@ -157,4 +198,4 @@ export default ({ app }, inject) => { inject('youtube', {...searchModule, ...recommendationModule, }) inject("logger", logger) } -logger("Initialize", "Program Started"); \ No newline at end of file +logger("Initialize", "Program Started");