Regarding Importing and Exporting

Hi, is it anyway possible

  1. to directly import/add the alternative (Alts) questions/answers while bulk adding?

  2. to export
    a. the course I have created (may be in a csv or txt file), or
    b. the databases (along with the alternative questions/answers of the course that I have created, or
    c. the levels of the course that I have created

If any of these have been discussed before, please direct me to that post/topic.

Thanks in advance,
Regards,
Tanay

2 Likes

I also want to know this, especially 1.

For 2, there are userscripts available e.g. MemriseUtlities :slight_smile:

I didnā€™t make this up - I got it from another personā€™s reply to another thread. But I donā€™t remember where I found the thread and couldnā€™t find it this morning - luckily I copied the information into a word doc. So credit to a person whose username I donā€™t remember for this very good way to export.

Export Memrise course words to CSV.

  1. Log into memrise.com
  2. Navigate to course home page (e.g. http://www.memrise.com/course/335725/comprehensive-german-duolingo-vocabulary/)
  3. Open Developer Console
    To open the developer console window on Chrome, use the keyboard shortcut Ctrl Shift J (on Windows) or Command Option J (on Mac). Alternatively, you can use theChrome menu in the browser window, select the option ā€œMore Tools,ā€ and then select ā€œDeveloper Tools.ā€
  4. Paste below script and hit enter
  5. After all urls have been fetched, copy final word list into spreadsheet.

SCRIPT:

(() => {

function getWords(courseId, level) {
const url = https://www.memrise.com/ajax/session/?course_id=${courseId}&level_index=${level}&session_slug=preview
console.log('Fetching words from ā€™ + url)
return fetch(url, { credentials: ā€˜same-originā€™ })
// parse response
.then(res => {
return res.status === 200
? res.json()
// map results
.then(data => {
return data.learnables.map(row => ({
original: row.item.value,
translation: row.definition.value
}))
})
.then(words => {
return getWords(courseId, level + 1)
.then(words.concat.bind(words))
})
: []
})
.catch(err => {
console.error(err)
return []
})
}

// fetch
const start = 1
const courseId = location.href.slice(30).match(/\d+/)[0]
getWords(courseId, start)
// format as csv
.then(words => {
console.log(words.length + ā€™ wordsā€™)
return words.map(word => word.translation + ā€˜\tā€™ + word.original + ā€˜\nā€™).join(ā€™ā€™)
})
// print
.then(console.log)

})()

Unfortunately there is an error message popping up.

Uncaught SyntaxError: Unexpected token ā€˜:ā€™
pageModifier.js:113 check for duplicates: insertTimeout

Do you detect what is going wrong ?

Havenā€™t looked at the script, but if youā€™d like to assemble a word list, read my posting here:

Another posting that provides detailed instructions on how to use Anki (and tools) to download a course (including all columns and audio) can be found here:

1 Like