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