Python 取消引用 URL 但保留超链接

Python unquote URL but retain hyperlink

我有一个用西里尔文写的 URL。将它插入 python 时,我得到它的编码形式:

link = https://dspace.udpu.edu.ua/bitstream/6789/1751/1/%D0%97%D0%B0%D0%B3%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BD%D0%B0%D1%83%D0%BA%D0%BE%D0%B2%D1%96%20%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%20%D0%B4%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F.pdf

要将其转换为带有西里尔字符的超链接,我尝试使用 urllib.parse.unquote:

from urllib.parse import unquote
unquoted_link = unquote(link)

unquoted_link的结果是:

https://dspace.udpu.edu.ua/bitstream/6789/1751/1/Загальнонаукові методи дослідження.pdf

也就是说,我只在第一个 space 之前有超链接,然后是纯文本。我怎样才能使整个字符串成为一个超链接,就像 Whosebug 在我提供的第一个超链接中所做的那样?

未加引号的 URL 是一个有效的 hyperlink。例如,当它放在 HTML link 中的引号内时,它会按预期工作。问题是在某些情况下,例如,在各种终端中,空格被视为终止符。

<a href="https://dspace.udpu.edu.ua/bitstream/6789/1751/1/Загальнонаукові методи дослідження.pdf">
    https://dspace.udpu.edu.ua/bitstream/6789/1751/1/Загальнонаукові методи дослідження.pdf</a>