joeperpetua / exportVocabBusuu

Export / Extract Vocabulary from Busuu Website

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Export / Extract Vocabulary from Busuu Website

Steps:

  • Go to Review page: https://www.busuu.com/dashboard#/review
  • Mute the tab or the PC (when obtaining the audio links, they will be played out loud)
  • Open browser console (Ctrl + Shift + J)
  • Copy/Paste and Run the following code in the browser console:
const vocabList = document.querySelectorAll(".vocab-list-row");
let vocabToExport = [];

console.log("==========\nThis can take some time, depending on the amount of vocabulary there is to export, around 1 minute for 800 entries for example.\n==========");

for(let i = 0; i < vocabList.length; i++){

    vocabList[i]?.childNodes[2]?.firstChild?.firstChild?.lastChild?.firstChild.click();
    vocabList[i]?.childNodes[6]?.firstChild?.lastChild?.click();

    const vocabText = vocabList[i]?.children[3]?.children[0]?.children[0]?.textContent;
    const vocabTranslation = vocabList[i]?.children[3]?.children[1]?.textContent;
    const vocabStrength = vocabList[i]?.children[4]?.children[1]?.textContent;
    const vocabExampleTranslated = vocabList[i]?.children[6]?.children[1]?.children[1]?.textContent;
    const vocabOriginalExample = vocabList[i]?.children[6]?.children[1]?.children[0]?.textContent;
    const vocabAudioURL = vocabList[i]?.childNodes[2]?.firstChild?.firstChild?.lastChild?.firstChild?.getAttribute("src");
    const vocabExampleAudioURL = vocabList[i]?.childNodes[6]?.firstChild?.lastChild?.firstChild?.lastChild?.firstChild?.getAttribute("src");

    vocabToExport.push({
        "text": vocabText,
        "translation": vocabTranslation,
        "strength": vocabStrength,
        "example_translated": vocabExampleTranslated,
        "example": vocabOriginalExample,
        "audio": vocabAudioURL,
        "example_audio": vocabExampleAudioURL
    });
    
    console.log("<--- Entries processed");
}
console.log("==========\nProcess finished, you can copy the following object:");
console.log(vocabToExport);
console.log("==========");
  • Wait for the result to be logged in the console
  • This error message is expected, wait until all the errors are logged before unmuting the tab / PC:

image

  • Copy the logged object:

image

  • Go to JSON to CSV Converter and paste the copied object
  • Generate your Busuu vocabulary in CSV/xlsx format

That is pretty much all, you can do whatever you want with the CSV file (making an Anki deck for example). If you have any issues with the script, please create an issue in the repository.

About

Export / Extract Vocabulary from Busuu Website