Я использовал pyquery для создания веб-страницы:
> page = PyQuery('<html><head><script type="text/javascript" src="jquery-1.4.min.js"></script><script type="text/javascript" src="tools.min.js"></script></head><body></body></html>')
> print page
Output: <html><head><script type="text/javascript" src="jquery-1.4.min.js"/><script type="text/javascript" src="tools.min.js"/></head><body/></html>
Однако теги script (и body) не должны заканчиваться таким образом. Firefox игнорирует остальную часть заголовка.
Я попытался разбить вышеперечисленное на отдельные элементы (т.е. добавить один тег скрипта за раз), но безрезультатно:
> page = PyQuery('<html><head></head></html>')
> page.find('head').append('<script type="text/javascript" src="jquery-1.4.min.js"/></script>')
> page.find('head').append('<script type="text/javascript" src="tools.min.js"></script>')
Output: <html><head><script type="text/javascript" src="jquery-1.4.min.js"/><script type="text/javascript" src="tools.min.js"/></head><body/></html>
То же самое происходит с <iframe/>
тегами (вынуждены использовать их из-за YouTube), они не закрываются firefox, и весь последующий код игнорируется.
Как заставить принудительно закрывать их с помощью отдельного тега закрытия, как я полагаю, в соответствии со стандартами HTML.
О, и если кому-то интересно, я не делаю все это в beautifulsoup, потому что (1) я получаю ошибки beautifulsoup и (2) это устаревший пакет, автор прекратил поддерживать его год или два назад.