Вы можете использовать urllib по максимуму и разложить весь URL на части, удалить часть sl
и заново составить целое:
def remove_url_query_arg(urlstring, argname):
url = urlparse(urlstring)
query = url.query
args = parse_qsl(query)
clean_args = [(k, v) for k, v in args if k != argname]
clean_query = urlencode(clean_args)
clean_url = urllib.parse.ParseResult(
scheme=url.scheme,
netloc=url.netloc,
path=url.path,
params=url.params,
fragment=url.fragment,
query=clean_query)
return urlunparse(clean_url)
Это оставляет знания о том, как извлекать и вставлять вещи в ииз строк URL, где он принадлежит.