С помощью bs4 4.7.1 вы можете использовать: имеет псевдоселектор, чтобы указать диапазон с соседним диапазоном, имеющим класс .point-scale
soup.select_one('span:has(~ .point-scale)').text
Это общий брат. Вы также можете быть более конкретным с соседним братом
soup.select_one('span:has(+ .point-scale)').text
Используйте select
и составьте список для нескольких совпадений:
ratings = [item.text for item in soup.select('span:has(~ .point-scale)')]
Комбинаторы (цитаты из страниц разработчиков Mozilla)
Комбинированный соседний брат и сестра:
Соседний братский комбинатор (+) разделяет два селектора и
соответствует второму элементу, только если он непосредственно следует за первым
element, и оба являются потомками одного и того же родительского элемента.
Общий родственный комбинатор:
Общий братский комбинатор (~) разделяет два селектора и совпадает
второй элемент, только если он следует за первым элементом (хотя и не
обязательно сразу), и оба являются детьми одного и того же родителя
элемент.