Как использовать целую строчку

Я ввожу текст "раз два три" и при добавлении его к ссылке https://blabla.com/search={text} получаю на выходе https://blabla.com/search=раз два три. А нужно https://blabla.com/search=раз&20два&20три

Как я могу сделать запрос единым ?


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

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

'раз два три'.replace(' ' , '&20')

→ Ссылка
Автор решения: CrazyElf

Ну по-нормальному нужно использовать функции пакета urllib, предназначенные специально для этих целей:

from urllib.parse import urlencode, urljoin
 
print(urljoin('https://blabla.com/', urlencode({'search': 'раз два три'})))

Вывод:

https://blabla.com/search=%D1%80%D0%B0%D0%B7+%D0%B4%D0%B2%D0%B0+%D1%82%D1%80%D0%B8

При переходе по этой ссылке пробелы и русские буквы раскодируются обратно автоматически.

→ Ссылка
Автор решения: Zhihar

я бы сделал так:

text = " раз     два три   "
result = f'https://blabla.com/search={"&20".join(text.split())}'
print(result)

при такой реализации (в отличии от .replace несколько пробелов все равно будут заменены одним &20 и не будет пробелов в начале и конце строки

если же кол-во пробелов важно, то тогда сделал бы так:

text = " раз     два три   "
result = f'https://blabla.com/search={text.replace(" ", "&20")}'
print(result)
→ Ссылка