Python bs4 Неправильно вставляется значение атрибута

Через BeautifulSoup в html меняю значение атрибутов, но в одном записывается неправильно.

В коде: soup("tag")["attr"] = "api.php?stream_key=<?=$_GET['stream_key']?>"

Записывает в html: "api.php?stream_key=&lt;?=$_GET['stream_key']?&gt;"

Как сделать корректную запись? Спасибо


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

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

Решил следующим костылем: Словарь в ключах имеет экранированные символы, по значению их в нормальной форме. Далее читает текст из файла, циклом делает replace, и перезаписывает файл.

def replace():
        symbols = {
            '&lt;': '<',
            '&gt;': '>'
        }

        with open("filename.php", "r", encoding="utf8") as f:
            text = f.read()

        for i in symbols:
            text = text.replace(i, symbols[i])

        with open("filename.php", "w", encoding="utf8") as f:
            f.write(text)

→ Ссылка