我正在使用 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>
脚本(和正文)标签不应该像那样结束。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 关闭,并且所有进行中的代码都被忽略。
我相信,如何强制 pyquery 使用单独的关闭标签关闭这些标签,这是根据 html 标准。
哦,如果有人想知道,我并没有在 beautifulsoup 中做这一切,因为(1)我收到 beautifulsoup 错误,(2)它是一个已弃用的包,作者在一两年前停止支持它。