@Daniil Loban, зря вы так, конечно… Всё тут очень даже замечательно получается, причём очень просто в отличие от этого вопроса, где курсы грузятся через backend настройки. И Selenium использовать для парсинга — ну такое.
Тут же всё, прям, чудесно.
Повторим минимально код:
import requests
from bs4 import BeautifulSoup as BS
import re
s = requests.Session()
r = s.get('https://store.steampowered.com/app/552500/Warhammer_Vermintide_2/')
soup = BS(r.content, 'lxml')
regex_pattern = r'(\d{1,2})\s+(\w+)'
offer = soup.find('p', class_='game_purchase_discount_countdown').text
date = re.search(regex_pattern, offer)[0]
print(date)
Вывод:
25 April
Предсказуемо.
Как видите, даже не стал заморачиваться с headers. А теперь, посмотрим, что произойдёт при логине на стим и смене языка! Долго копать не пришлось, идём в лисичку и смотрим cookie, там вопиющее название Steam_Language
. Забираем его, и добавляем куку, более подробно про их создание говорил здесь.
s.cookies.set('Steam_Language', 'russian', domain='store.steampowered.com')
Получаем страницу заново, парсер, регулярка и‥ получаем 25 апреля, ура!
Альтернатива
Но, как вам правильно подсказали, если совсем не получается, то надо искать альтернативы. Ну, например, перевести:
from deep_translator import GoogleTranslator
translated = GoogleTranslator(source='en', target='ru').translate(date)
print(translated)
Вывод:
25 апреля
B общем то, тут можно закончить ответ, получили то что хотели, мы это получили ещё раньше с куками, но т.к. наш русский язык любимый замечательный и сложный, при переводе может получиться не так всё чудесно, например если убрать 25 или если переводчик не догадается поставить правильный падеж:
translated = GoogleTranslator(source='en', target='ru').translate(date[3:])
print(translated)
Вывод:
апрель
Бах, апрель.
Именительный падеж. На самом деле ситуация довольно популярная при переводе и не только. Что можно сделать?
Использовать pymorphy:
import pymorphy2
morph = pymorphy2.MorphAnalyzer()
morphed = morph.parse(translated)[0].inflect({'gent'}).word
print(morphed)
Вывод:
апреля
Так что, используем куки и умеем в альтернативу 🥰
UPD
Перед тем как закрыть браузер ещё раз заглянул, какие там cookies есть. Очень интересным также оказался timezoneOffset
, рекомендую его тоже добавить, т.к. с датой работаем.