Export lists from databases / courses I have created?

@DW7
Thank you very much. I tried this method, and it worked fine, but there are 105 pages in my course, and I wonder if there is a way to copy their content at once?

1 Like

If you use the Import.io you can just create a Batch and download everything at once.
You still need to list all the pages, for example:
http://www.memrise.com/course/xxx/flags-of-the-world/1/
http://www.memrise.com/course/xxx/flags-of-the-world/2/
etc…

But you can do it easily in Excel. Then the program is able to run and give you a file with everything in order that you convert to Excel in oder to use it.

I do it all the time and it works pretty good.

1 Like

This and all the solutions posted in this thread only take into account the main meanings of a word (the ones that show in big during learning and on the side during testing), but so far there is no way to import the alternate meanings as well.

Importing everything without alternate meanings is just pointless. It took a lot of work to add those for every word, so if I’m gonna backup my course, I wanna do it completely, with alternate meanings included.

1 Like

@diegovizia

I’m not an expert, since I only experimented with it once or twice, but Memrise-to-Anki will let you download any column in the database, including alternatives.

As for whether or not you could export it again from Anki, I have no idea! :wink:

If anyone is still looking for an answer, I recommend this python tool:

just run the setup.py
then python memrise.py > output.txt
this will export it to a text file where you can copy it into excel!

Update:

I have created an online tool for those not so used to the command line and so that you don’t have to install anything.

Here is a link: https://tech189.dev/memrise/

EDIT: Updated the link because I got a domain for my website!

9 Likes

First of all: thank you very much for your effort. I tried the online tool a few times, but unfortunately it doesn’t seem to work for my rather large course (this one: https://www.memrise.com/course/39780/top-6000-japanisch/). Do you think anything can be done about this?

Thanks a lot again.
neko-chan

1 Like

Thanks! Yeah that is a huge course, there’s no issue with the script itself, it can get the whole list but it just takes time on the poor little Rasbperry Pi…

Here’s the list if you still need it: https://paste.ubuntu.com/p/Y9QjpzCZmm/

I’m not particularly experienced but I’ll look into making some sort of progress bar.

3 Likes

Wow! Thank you so much for your effort! I tried it quite a few times and waited patiently but in the end I always just got a blank tab. :sweat_smile:
Thank you very much once again, that is a big help!
neko-chan

1 Like

I think the greatest thing you have done is, that it indeed doesn’t need any technical knowledge, that scripts usually require. Thank you!
It only copies the primary columns I understand. Any chance of improving it, exporting all columns, or alternatives, or/and the audio files (or at least the audio file names; if there were another script for exporting the files, a list with the names is helpful in matching and renaming). E.g. if we use an URL like this:
https://www.memrise.com/course//edit/# would.

1 Like

Thank you! I’m not the author of the script, but I suspect that it would not be possible to download sound files, as it would require you to log in. At the moment, the script does not require you to log in, but I have submitted a feature request to the author, which you can track here: https://github.com/nad2000/memrise-scraper/issues/2

Concerning exporting all columns, could you send me an example of a course that does have more than two columns? I might not be able to work on it right now as I have exams coming up, but I will do what I can.

Actually, most courses have more than 2 columns, but only the creator and contributors can see them when going to the edit mode. Those extra columns I meant. I do not have any course with three columns.

BTW: if the script runs on the web-server, then yes, logging in is a different deal. However, if the script runs in the browser, the browser has already the login cookie if the user is logged on, and the problem should be solved by itself. But who knows, their is somewhere a catch - I am not a script writer.

Not my idea, but something I got from someone else on an other thread that I can’t find now (I had copied the code into a Google doc). This has worked very well for me to export my words in a way that I can copy it straight into Quizlet:

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)

})()

Hey, if you’re still looking for a solution, perhaps my exporter will work for you. It should export all of the columns, but you’ll need to download it and right now it’s for Windows only.

Thanks a lot!
It wasn’t working until I downloaded the new version:

but, it does not support Arabic. I get these characters in the csv file :frowning:
ط§ظ„ط§ط³طھط¹ط§ط°ط© ظˆط§ظ„ظپط§طھط­ط© ظٹظژظˆظ’ظ…ظگ ط§ظ„ط¬ظژط²ظژط§ط،ظگ ظˆظژط§ظ„ط­ظگط³ظژط§ط¨ظگ (4){ظٹظژظˆظ’ظ…ظگ ط§ظ„ط¯ظگظ‘ظٹظ†ظگ} ط§ظ„ظپط§طھط­ط©

UPDATE:
Actually, the issue is not Arabic-specific…This is what happened after scrapping a course written in French:
anti-agrأ©gants plaquettaires
The “é” is not recognized

Did you open the file in Excel? Open it in notepad and see if it looks correct there.

I believe the proble with Excel is this - https://www.webtoffee.com/how-to-save-csv-excel-file-as-utf-8-encoded/

Let me try to fix this in the exporter itself.

1 Like

This is what I see if I open the csv in notepad:

I believe it looks fine there. In order to open it in Excel, try the steps in the link above (and don’t forget to change the separator from , to ; on one of the screens during the process.

I’ll keep looking into this.

1 Like

Seems to not be working for large courses. Timeout after a while.

Can you give me an example?

PS E:\Downloads> PS E:\Downloads> .\MemriseScraper.exe 1209
Get-Process : A positional parameter cannot be found that accepts argument ‘.\MemriseScraper.exe’.
At line:1 char:1

  • PS E:\Downloads> .\MemriseScraper.exe 1209
  •   + CategoryInfo          : InvalidArgument: (:) [Get-Process], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetProcessCommand
    
    

PS E:\Downloads> …

… : The term ‘…

…’ is not recognized as the
name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At line:1 char:1

  • … …
  •   + CategoryInfo          : ObjectNotFound: (.................................:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException