Web Scraping JS calendar behind TFA

Between semesters, I’d like to build a scraper that will parse my academic calendar and return assignment due dates. The school’s calendar is a JS script that probably made sense to someone on the back-end. For users however, the way due dates are displayed renders the calendar nearly irrelevant. So I’d like to build my first program with real-world utility while expanding my programming skills.

I’ve seen tutorials using a few different libraries, and I’m just wondering which one would be best for this kind of task? I should also mention that login requires two-factor-authentication using my cell, once every 8 hrs. I know there’s programmatic way around this, but since I log in at least once a day anyway, the easier route may be just to run the program when I login.

My thoughts so far lean towards BeautifulSoup but I’ve also read (very little) of Selenium’s capabilities regarding browser automation. Would the latter be better equipped at getting past TFA? Any advice is welcome. Thanks!

Find out how the data from the calendar is passed to the JS code that runs in the browser.

For example is there a URL that is used to get the calendar data as JSON?
Is there a REST API that the page uses? If so you have a easy solution.

scrapping the HTML, with BeautifulSoup, may not provide the data that the JS code uses.