使用BeautifulSoup删除p标签中的script标签
我写了一段代码,可以从段落中提取内容。
from bs4 import BeautifulSoup
from bs4 import BeautifulSoup, NavigableString
import re
soup = BeautifulSoup(open('MUFC.html'))
a_tag = soup.find_all('p')
#print(a_tag)
for x in a_tag:
print(x.get_text())
但是在这些段落标签里面,有一些脚本标签。
像这样:
<p>
<script>
.....
</script>
</p>
我不想要这些脚本标签。我们能不能加个条件,让 get_text() 方法忽略这些标签呢?
1 个回答
7
首先,去掉 所有的 script
标签,然后提取文本:
soup = BeautifulSoup(open('MUFC.html'))
for script in soup.find_all('script'):
script.extract()
paragraphs = soup.find_all('p')
for paragraph in paragraphs:
print(paragraph.get_text(strip=True))