For Bunpro users who wants to review grammar using Anki's SRS instead of Bunpro's built-in SRS.
N1 (Updated:2021-06-21
)N2 (Updated:2021-06-21
)N3 (Updated:2021-06-21
)N4 (Updated:2021-06-21
)N5 (Updated:2021-06-21
)All in One (Updated:2021-06-21
)
JSON file containing data used for creating the decks above can be found here (sentence audio).
UPDATE: Unfortunately, the above download links are now dead and I have no way to recover the original files. I plan to create new grammar decks in future. But in the meantime, you can try the fixed all-in-one deck generously shared to me by Keith Ng.
Card front
Card back
Card back without Japanese explanation
Card back with Japanese explanation
TODO
This section is reserved for anyone who wants to edit fields or create cards.
Sentence
- Example sentence for demonstrating a specific grammar point. Usually equiped with cloze deletion(s) on specific part(s) of the sentence. Written in Japanese with no furigana. I recommend selecting sentences that contains no more than one unknown word.SentenceTranslation
- English translation of the example sentence.SentenceAudio
- Japanese audio recording of the example sentence.SentenceNuance
- Nuances of the example sentence. It can explain things like an alternative way to understand the sentence, other unknown grammar, etc.Grammar
- Specific grammar point.GrammarMeaning
- English meaning of the grammar point.GrammarMeaningJP
- Japanese meaning/explanation of the grammar point. (It is not provided at default. You can find good Japanese explanations in 1, 2, 3, and more.)GrammarStructure
- Explains how to use the grammar point with nouns, verbs, adjectives, etc.GrammarNuance
- (Self explanatory)SupplementalLinks
- List of online resources (like websites) to learn more about the grammar point.OfflineResources
- List of offline resources (like textbooks) to learn more about the grammar point.
Make sure you have Python 3.9.1 or above installed.
The following Python packages are used:
beautifulsoup4 4.9.3
genanki 0.11.0
requests 2.25.1
-
In the directory where you downloaded the Python scripts, create the following folders:
bunpro-sentence-audio
,decks
, andjson
. -
Create a new Bunpro account and log in. You should have a free trial enabled. Now, create the
cookies.json
file located in thejson
folder with the following contents below. Use your favourite browser's dev tools to retrieve cookies to fill the...
sections of the file.
{
"_ga": "...",
"_grammar_app_session": ...",
"ahoy_visitor": "...",
"__stripe_sid": "...",
"ahoy_visit": "...",
"__stripe_mid": "...",
"1P_JAR": "..."
}
-
Run
bunpro.py
. It will take a while. You should see some info printed in the console window. -
Open
dl_audio.py
and edit theF_NAME
variable with the recentXXX-bunpro.jp.all.grammar.json
file. Then, editOUT_DIR
with the full path (or relative) to thebunpro-sentence-audio
folder. Now run the script. It will also take a while. -
Finally, open
anki.py
and edit theJSON_F_NAME
with the recentXXX-bunpro.jp.all.grammar.json
file. Run the script. You should get Anki decks located in thedecks
directory.
If you find any bugs in Anki decks, can't get the scripts working, or have any suggestions or changes for me, please don't hesitate to contact me! You can comment below or shoot me an email.
Modified: 2024/08/31
Full disclosure, I have not used the decks you provide yet, but from what I see it might be what I am looking for. I am studying Tobira and there is no official Grammar deck so Bunpro was an option, but I use Anki and don't want to have to use another program.
From my preliminary once over of a few cards I have these comments:
Verb[stem] + はじめる
lists 'Tobira : Page 18' as theOfflineResource
, but its actually page 19 in the book.For anyone that comes across this and wants tags too this is how I am doing it, there are probably better ways to do it:
Note: I am using Anki 2.1.43 and have some plugins that might affect this, notably "Advanced Browser". I also added all of your N1-N5 decks as subdecks to a "Bunpro" parent deck for easier maintaining.
"deck:Bunpro" AND "Tobira \: Page 17<"
(the final<
matches the HTML</li>
tag and makes it so I don't match "page 179", for example)Tobira::01::Grammar
as my tag.Keep up the good work.
Edit: I have found over 200 cards that have bad cloze set up. An example is:
ミカサさんも来る{{c1::{{c1::だろう}}}}?
The simplest way to find these I found to be by searching for
}}}
in Anki's Browser.