1. Установить Python 3.10.x или новее. Перед этим желательно удалить другие версии Python (минорные версии не обновляются, т. е. 3.9 -> 3.10, но обновится 3.10.1 -> 3.10.2), выбрать Customize installation, все галки стоят уже, потом в Advanced Options добавить Install for all users и Add Python to environment variables. Можно не делать "Install for all users", но он тогда поставит для текущего пользователя далеко (если не выбрать свой путь). "Add Python to environment variables" нужно чтобы были доступны Python и PIP из консоли везде, это не нужно ставить, если вам вдруг нужны другие версии Python, но всегда можно добавить пути до нужной версии через переменные среды в переменную Path, например: C:\Program Files\Python310\ и C:\Program Files\Python310\Scripts\.
2. Обновление PIP (установщик пакетов) нужно периодически делать (он предупреждает о новой версии при обновлении других пакетов), через командную строку от администратора (!) выполнить:
python.exe -m pip install -U pip
3. Установка/обновление requests, bs4 (Beautiful Soup 4), через командную строку от администратора (!) выполнить:
pip install -U requests
pip install -U bs4
4. Получение списка:
a. Запустить download_switch_1.py для скачивания страниц с ссылками на игры, через несколько минут после завершения скрипта в папке switch_pages появится столько же HTML-файлов сколько страниц указано на
https://www.mobygames.com/browse/games/switch/list-games/ - Viewing Page 1 of СКОЛЬКО_СТРАНИЦ. Если будет меньше, то запустите снова скрипт. Возможна маловероятная ситуация, когда будет добавлена игра на сайт во время скачивания страниц, тогда будет повтор одной из игр.
b. Запустить download_switch_2.py для скачивания страниц игр на основе файлов из switch_pages. Если уже запускали и нужен новый список, то сначала удалить папку switch_games, потому что скрипт пропускает скаченные HTML, это нужно в случае ошибки скачивания одной из страниц. В switch_games будет столько HTML-файлов, сколько указано игр на
https://www.mobygames.com/browse/games/switch/list-games/ - Nintendo Switch [ x ] (СКОЛЬКО_ИГР games), иначе запустите скрипт снова.
c. Запустить get_switch.py для генерации списков на основе файлов из switch_games. Если в конце HTML-файлов списков не будет </html>, значит где-то была ошибка при обработке.