[Script w/ GUI] Bulk Upload Audio from Forvo for any given language

Hello friends,

I just tested the script that i bought from fiverr.com and it’s working fine, i reached the 500 request daily limit from forvo but this script will be able to start from this point tomorrow.

I asked for a simple interface so anyone without code skills (like me) could operate. This is the interface:

The script is made in Selenium / Python and here are the instructions:

Steps to use:
1.Download python software from the oficial website and proceed with the full instalation marking all the options (IDLE is the most important):
https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe

  1. Make sure you have google chrome in your system since its suited only for Chrome and download the chrome driver to the same folder of the script:
    http://chromedriver.chromium.org/

  2. Finally run memrise_forvo.py which is your main file. Do that by right clicking the script file (memrise_forvo.py) and selecting "Edit with IDLE

  1. You gonna see the code and you should press F5 to run the code.

  2. Once you run the code you gonna see the little interface asking for the forvo API code and for the language in which you wish to upload the audio. I purchased the less expensive key and it cost me 12 bucks (2usd/month during 6 months) allowing 500 requests per day. Just copy and paste the API code and select the language: https://api.forvo.com/account/

  1. That’s it. Once you press “Do It” it will open a new Chrome Window so you can log into your memrise account and reach the edit screen. The script will ask to press 1 to a fresh start and to press 0 if you are continuing from where you stop last time and for that it will create a file called track.txt on this same folder.

  2. That’s it. I hope this tool can help more people just as it helped me. This is the profile of the guy the kindly did this script for me for a pretty fair price, so if you are needing some kind of memrise automation this is the guy you should look for: https://www.fiverr.com/lovish_bathla

** The next step will be autoupload script/handwritten ( ktav ivri rahut in hebrew) images from the standard quadratic form so people can be tested with that as well on memrise.

*** I also thought about some kind of illustration database for the given words since our brain is much more visual but i didn’t found any API that provides good and standard illustrations for any given english word. Its important that the images share the same pattern of color, size and style so we can use the database for any given Memrise course.

2 Likes

Hi! Thanks for great job

Done all steps, but got a tons of errors:

    2 OPtions are there
    1. To start from fresh that means
        You have to go till edit page only .
        Press 1 for this
    2 . To start from login you have to only login.
        Press 0 for this

Enter 1 to start it fresh and 0 to start it from previous position:1
Exception in Tkinter callback
Traceback (most recent call last):
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\indexes\base.py”, line 2890, in get_loc
return self._engine.get_loc(key)
File “pandas_libs\index.pyx”, line 107, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\index.pyx”, line 131, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\hashtable_class_helper.pxi”, line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
File “pandas_libs\hashtable_class_helper.pxi”, line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ‘ISO code’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\lib\tkinter_init_.py”, line 1702, in call
return self.func(*args)
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\Scripts\memrise_forvo.py”, line 82, in execute
lang=self.language()[self.e3.get()]
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\Scripts\memrise_forvo.py”, line 34, in language
a=df[‘ISO code’].tolist()
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\frame.py”, line 2975, in getitem
indexer = self.columns.get_loc(key)
File “C:\Users\semon.petushin\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\indexes\base.py”, line 2892, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File “pandas_libs\index.pyx”, line 107, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\index.pyx”, line 131, in pandas._libs.index.IndexEngine.get_loc
File “pandas_libs\hashtable_class_helper.pxi”, line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
File “pandas_libs\hashtable_class_helper.pxi”, line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: ‘ISO code’