Поскольку казалось, что вы на правильном пути, я не пытался полностью решить проблему, а пытался дать вам подсказку, которая может быть полезна: Выполнить динамическое создание веб-страниц .
" Почему Selenium? Не достаточно ли Beautiful Soup?
Для просмотра веб-страниц с помощью Python часто требуется всего лишь использование Beautiful Soup для достижения цели. Beautiful Soup - очень мощная библиотекаэто делает очистку веб-страниц за счет обхода DOM (объектной модели документа) проще, но она выполняет только статическую очистку. Статическая очистка игнорирует JavaScript. Она извлекает веб-страницы с сервера без помощи браузера. Вы получаете именно то, что видите в«Просмотреть источник страницы», а затем нарезать его и нарезать кубиками. Если искомые данные доступны только в «просмотре источника страницы», вам не нужно идти дальше. Но если вам нужны данные, которые присутствуют вкомпоненты, которые отображаются при нажатии на ссылки JavaScript, на помощь приходит динамическая очистка. Utiful Soup и Selenium позаботятся о динамическом очищении. Selenium автоматизирует взаимодействие с браузером из python. Следовательно, данные, представленные ссылками JavaScript, можно сделать доступными путем автоматизации нажатий кнопок с помощью Selenium, а затем извлечь их с помощью Beautiful Soup. "https://medium.com/ymedialabs-innovation/web-scraping-using-beautiful-soup-and-selenium-for-dynamic-page-2f8ad15efe25
Вот что я вижу в конце 30 песен вDOM, который ссылается на кнопку:
</li>
</ol>
<button class="link js-action-button" data-track-type="view-all-button">
View all on Spotify
</button>
</div>