Как использовать целую строчку
Я ввожу текст "раз два три" и при добавлении его к ссылке https://blabla.com/search={text} получаю на выходе https://blabla.com/search=раз два три. А нужно https://blabla.com/search=раз&20два&20три
Как я могу сделать запрос единым ?
Ответы (3 шт):
Автор решения: 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)