美丽组:删除一个widg

2024-10-02 22:30:06 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

但没用,微博上的短信还在。 我还试着用tweets删除单独的p

^{pr2}$

但这只是一个局部的解决方案,twitterwidget的一些垃圾仍然存在。。 我怎样才能彻底摆脱这个小部件呢?在


Tags: in文本forstylepagescriptextract局部
1条回答
网友
1楼 · 发布于 2024-10-02 22:30:06

只需提取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)

输出:

^{pr2}$

相关问题 更多 >