首页 文章

使用BeautifulSoup获取html剥离脚本和样式标签?

提问于
浏览
7

我有一个简单的脚本,我将获取一个HTML页面,将其传递给BeautifulSoup以删除所有脚本和样式标记,然后我想将HTML结果传递给另一个方法 . 是否有捷径可寻?略读BeautifulSoup.py,我还没有看到它 .

soup = BeautifulSoup(html)
for script in soup("script"):
    soup.script.extract()

for style in soup("style"):
    soup.style.extract()
contents = soup.html.contents
text = loader.extract_text(contents)

contents = soup.html.contents只获取一个列表,所有内容都在类中定义 . 是否有一种方法只能在汤操作后返回原始html?或者我只需要浏览 contents 列表并将html重新组合在一起,不包括脚本和样式标记?

或者是否有更好的解决方案来实现我想要的?

1 回答

  • 8

    unicode( soup ) 给你html .

    你想要的也是这个:

    for elem in soup.findAll(['script', 'style']):
        elem.extract()
    

相关问题