gpt4 book ai didi

python - BeautifulSoup:删除小部件

转载 作者:太空宇宙 更新时间:2023-11-03 16:14:42 25 4
gpt4 key购买 nike

我有一个<twitterwidget>page上需要删除(不需要推文中的文本)。 我试过了

for script in soup(["script", "style"]):
script.extract()

但这并没有帮助,推文中的文本仍然存在。 我还尝试删除单独的 p与推文:

for s in soup('p'):
try:
if s["lang"]=="en":
s.extract()
except:
pass

但这只是部分解决方案 - 来自 twitterwidget 的一些垃圾还留在那里.. 我怎样才能一劳永逸地摆脱那个小部件?

最佳答案

只需提取 twitterwidget 元素本身,它就会完全删除它,包括它的所有后代:

from bs4 import BeautifulSoup

html = """<div>foobar</div> <twitterwidget class="twitter-tweet twitter-tweet-rendered" id="twitter-widget-0" data-tweet-id="763961058490933248" style="position: static; visibility: visible; display: block; transform: rotate(0deg); max-width: 100%; width: 500px; min-width: 220px; margin-top: 10px; margin-bottom: 10px;"></twitterwidget>"""
soup = BeautifulSoup(html)

soup.find("twitterwidget").extract()
print(soup)

输出:

<html><body><div>foobar</div> </body></html>

关于python - BeautifulSoup:删除小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39021114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com