lyricsfetchergenius
Advanced tools
Comparing version 0.0.4 to 0.0.5
{ | ||
"name": "lyricsfetchergenius", | ||
"version": "0.0.4", | ||
"version": "0.0.5", | ||
"description": "A npm package to fetch lyrics from genius api", | ||
@@ -30,4 +30,4 @@ "main": "index.js", | ||
"axios": "^0.27.2", | ||
"cheerio": "^1.0.0-rc.12" | ||
"cheerio-without-node-native": "^1.0.0-rc.2" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# Lyrics Fetcher Genius | ||
# Lyrics Fetcher Genius | ||
@@ -6,2 +6,3 @@ # How to Use | ||
Using GetLyrics: | ||
```js | ||
@@ -29,9 +30,11 @@ const lyricsfetchergenius = require("lyricsfetchergenius"); | ||
try { | ||
let lyrics = await lyricsfetchergenius.GetLyrics(options); | ||
lyrics = lyrics.replace(/(\[.+\])/g, ""); // optional | ||
console.log(lyrics); // you can do somthing else with it other than console.log | ||
} catch (error) { | ||
throw error; | ||
} | ||
async () => { | ||
try { | ||
let lyrics = await lyricsfetchergenius.GetLyrics(options); | ||
lyrics = lyrics.replace(/(\[.+\])/g, ""); // optional | ||
console.log(lyrics); // you can do somthing else with it other than console.log | ||
} catch (error) { | ||
throw error; | ||
} | ||
}; | ||
``` |
@@ -11,2 +11,3 @@ const axios = require("axios"); | ||
if (!ID) throw "No ID was provided"; | ||
if (!APIKey) throw "No APIKey was provided"; | ||
try { | ||
@@ -17,3 +18,3 @@ let { | ||
}, | ||
} = await axios.get(`${songIdURL}${ID}&access_token=${APIKey}`); | ||
} = await axios.get(`${songIdURL}${ID}?access_token=${APIKey}`); | ||
const lyrics = await RetrieveLyrics(Song.url); | ||
@@ -20,0 +21,0 @@ return { |
const axios = require("axios"); | ||
const cheerio = require("cheerio"); | ||
const cheerio = require("cheerio-without-node-native"); | ||
@@ -9,10 +9,19 @@ /** | ||
try { | ||
let rawData = await axios.get(url); | ||
const $ = cheerio.load(rawData.data); | ||
const ly = $(".lyrics"); | ||
if (ly.length) { | ||
const lyrics = ly.text().trim(); | ||
if (!lyrics) return null; | ||
return lyrics; | ||
let { data } = await axios.get(url); | ||
const $ = cheerio.load(data); | ||
let lyrics = $('div[class="lyrics"]').text().trim(); | ||
if (!lyrics) { | ||
lyrics = ""; | ||
$('div[class^="Lyrics__Container"]').each((i, elem) => { | ||
if ($(elem).text().length !== 0) { | ||
let snippet = $(elem) | ||
.html() | ||
.replace(/<br>/g, "\n") | ||
.replace(/<(?!\s*br\s*\/?)[^>]+>/gi, ""); | ||
lyrics += $("<textarea/>").html(snippet).text().trim() + "\n\n"; | ||
} | ||
}); | ||
} | ||
if (!lyrics) return null; | ||
return lyrics.trim(); | ||
} catch (error) { | ||
@@ -19,0 +28,0 @@ throw error; |
18279
187
39
+ Added@types/node@22.13.4(transitive)
+ Addedcheerio-without-node-native@1.0.0-rc.2(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addedcss-select@1.2.0(transitive)
+ Addedcss-what@2.1.3(transitive)
+ Addeddom-serializer@0.1.1(transitive)
+ Addeddomelementtype@1.3.1(transitive)
+ Addeddomhandler@2.4.2(transitive)
+ Addeddomutils@1.5.1(transitive)
+ Addedentities@1.1.2(transitive)
+ Addedeventemitter2@1.0.5(transitive)
+ Addedhtmlparser2-without-node-native@3.9.2(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedisarray@1.0.0(transitive)
+ Addedlodash@4.17.21(transitive)
+ Addednth-check@1.0.2(transitive)
+ Addedparse5@3.0.3(transitive)
+ Addedprocess-nextick-args@2.0.1(transitive)
+ Addedreadable-stream@2.3.8(transitive)
+ Addedsafe-buffer@5.1.2(transitive)
+ Addedstring_decoder@1.1.1(transitive)
+ Addedundici-types@6.20.0(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
- Removedcheerio@^1.0.0-rc.12
- Removedcheerio@1.0.0(transitive)
- Removedcheerio-select@2.1.0(transitive)
- Removedcss-select@5.1.0(transitive)
- Removedcss-what@6.1.0(transitive)
- Removeddom-serializer@2.0.0(transitive)
- Removeddomelementtype@2.3.0(transitive)
- Removeddomhandler@5.0.3(transitive)
- Removeddomutils@3.2.2(transitive)
- Removedencoding-sniffer@0.2.0(transitive)
- Removedentities@4.5.0(transitive)
- Removedhtmlparser2@9.1.0(transitive)
- Removediconv-lite@0.6.3(transitive)
- Removednth-check@2.1.1(transitive)
- Removedparse5@7.2.1(transitive)
- Removedparse5-htmlparser2-tree-adapter@7.1.0(transitive)
- Removedparse5-parser-stream@7.1.2(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedundici@6.21.1(transitive)
- Removedwhatwg-encoding@3.1.1(transitive)
- Removedwhatwg-mimetype@4.0.0(transitive)