@bybacapitan

Как сделать обрезы?

Делаю парсинг сайта со статиский игры valorant.
Нужно сделать обрез сообщения для того чтобы можно было сделать запрос на сайт.
В игре есть имя пользователя допустим "name" и индетификатор допустим "3245".
Вот ссылка на сайт
https://tracker.gg/valorant/profile/riot/name%233245/overview

Проблема в том что между именем пользователя и индетификатором есть "%23".
Как сделать так чтобы когда я отправлял боту "name#3245" бот делал запрос на сайт.

Использую библиотеку aiogram с BeautifulSoup.

Вот кусочек кода
@dp.message_handler(content_types=['text'])
async def stats(message:types.Message):
    if 'stats' in message.text.lower():
        site = requests.get("https://tracker.gg/valorant/profile/riot/name%233245/overview")
        soup = BS(site.content, "html.parser")
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
Dr_Elvis
@Dr_Elvis
В гугле забанен
@dp.message_handler(content_types=['text'])
async def stats(message:types.Message):
    site = requests.get(f"https://tracker.gg/valorant/profile/riot/{message.text.lower().replace('#', '%23')}/overview")
    soup = BS(site.content, "html.parser")
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
делайте реплейс # на %23 изи лол
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
urllib.parse.unquote_plus('https://tracker.gg/valorant/profile/riot/name%233245/overview')
# 'https://tracker.gg/valorant/profile/riot/name#3245/overview'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы