gpt4 book ai didi

python - 如何使用 BeautifulSoup 从 HTML 中去除评论标签?

转载 作者:太空狗 更新时间:2023-10-29 17:21:06 25 4
gpt4 key购买 nike

我一直在玩 BeautifulSoup,这很棒。我的最终目标是尝试从页面中获取文本。我只是想从正文中获取文本,在特殊情况下从 <a> 获取标题和/或 alt 属性或 <img>标签。

到目前为止我有这个EDITED & UPDATED CURRENT CODE :

soup = BeautifulSoup(page)
comments = soup.findAll(text=lambda text:isinstance(text, Comment))
[comment.extract() for comment in comments]
page = ''.join(soup.findAll(text=True))
page = ' '.join(page.split())
print page

1) 对于我的特殊情况,您建议最好的方法是什么,以便不从我上面列出的两个标签中排除这些属性?如果执行此操作太复杂,则不如执行 #2 重要。

2) 我想剥离 <!-- -->标签和它们之间的一切。我该怎么做?

QUESTION EDIT @jathanism:这里有一些我试图去除但仍然保留的评论标签,即使我使用你的例子也是如此

<!-- Begin function popUp(URL) { day = new Date(); id = day.getTime(); eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=330,left = 774,top = 518');"); } // End -->
<!-- var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); //--> <!-- var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); //--> <!-- var whichlink=0 var whichimage=0 var blenddelay=(ie)? document.images.slide.filters[0].duration*1000 : 0 function slideit(){ if (!document.images) return if (ie) document.images.slide.filters[0].apply() document.images.slide.src=imageholder[whichimage].src if (ie) document.images.slide.filters[0].play() whichlink=whichimage whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0 setTimeout("slideit()",slidespeed+blenddelay) } slideit() //-->

最佳答案

直接来自 documentation for BeautifulSoup ,您可以使用 extract() 轻松删除注释(或任何内容):

from BeautifulSoup import BeautifulSoup, Comment
soup = BeautifulSoup("""1<!--The loneliest number-->
<a>2<!--Can be as bad as one--><b>3""")
comments = soup.findAll(text=lambda text:isinstance(text, Comment))
[comment.extract() for comment in comments]
print soup
# 1
# <a>2<b>3</b></a>

关于python - 如何使用 BeautifulSoup 从 HTML 中去除评论标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3507283/

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