При парсеринге слова из текста меняются местами

Бот для присылания предсказаний работает, но почему-то в предложении меняет местами 1-2 слова.

def get_prediction():
    import random
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36"
    }
    s = requests.get('https://happy.jofo.me/1643088.html',headers=headers)
    soup = bs4.BeautifulSoup(s.text, "html.parser")
    soup = soup.ol.text
    soup = soup.split(".")
    return (soup[random.randint(1, len(soup))])

Ответы (1 шт):

Автор решения: Namerek

Нужно дать отработать скриптам на странице. Тогда текст принимает нормальный вид.
Если неохота заморачиваться с selenium можно задействовать простую в использовании библиотеку requests_html, которой здесь вполне достаточно

from fake_useragent import UserAgent

import bs4
from requests_html import HTMLSession

ua = UserAgent()
headers = {
    "User-Agent": ua.chrome
}

ps = HTMLSession()

s = ps.get(
    'https://happy.jofo.me/1643088.html',
    headers=headers
)

s.html.render(scrolldown=True, sleep=2)


soup = bs4.BeautifulSoup(s.html.raw_html, "html.parser")

ordered_list = soup.find('ol')

with open('item.html', 'wb') as file:
    file.write(
        ordered_list.prettify(encoding='utf-8')
    )


for item in ordered_list.find_all('li'):
    print(item.get_text(strip=True))

Output

Удача придет откуда не ждете.
Давние долги будут возвращены вам.
Вас ожидает неожиданное денежное поступление.
Все неоконченные дела будут завершены.
Яркое приключение уже поджидает вас.
...
Вам будет доверено нечто, что требует ответственного отношения.
Неясная ситуация скоро прояснится. Вам следует держать глаза открытыми и не придумывать то, чего нет.
Ситуация потребует от вас смирения. Оно впоследствии окупится сторицей.
Благодаря своевременным догадкам и озарениям вы получите желаемое.
Скоро вы получите знания, которые прольют свет на то, что ранее было скрыто.
Когда решите действовать ваши глаза закроются для сомнений.
Это – просто жизнь… и это значит – ты обязательно прорвёшься.
Нужные слова на все случаи жизни найдутся по адресу woman-gu.ru
Всё будет хорошо.
→ Ссылка