Beautiful Soup 简明教程
Beautiful Soup - Remove all Scripts
HTML 中经常使用的一个标记是 <script> 标记。它有助于在 HTML 中嵌入客户端脚本(如 JavaScript 代码)。在本章中,我们将使用 BeautifulSoup 从 HTML 文档中删除脚本标记。
<script> 标记有一个对应的 </script> 标记。在这两个标记之间,你可以包含对外部 JavaScript 文件的引用,或将 JavaScript 代码与 HTML 脚本本身内联。
要包含一个外部 Javascript 文件,请使用以下语法 −
<head>
<script src="javascript.js"></script>
</head>
然后,你可以在 HTML 中调用在此文件中定义的函数。
除了引用外部文件之外,你还可以将 JavaScipt 代码放在 <script> 和 </script> 代码内的 HTML 中。如果将其放在 HTML 文档的 <head> 部分中,那么该功能将在整个文档树中可用。另一方面,如果将其放在 <body> 部分的任何位置,则 JavaScript 函数从此处可用。
<body>
<p>Hello World</p>
<script>
alert("Hello World")
</script>
</body>
使用 Beautiful 轻松去除所有脚本标签。您必须从解析树中收集所有脚本标签的列表并逐一提取它们。
Example
html = '''
<html>
<head>
<script src="javascript.js"></scrript>
</head>
<body>
<p>Hello World</p>
<script>
alert("Hello World")
</script>
</body>
</html>
'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
for tag in soup.find_all('script'):
tag.extract()
print (soup)