Ich habe mit BeautifulSoup gespielt, was großartig ist. Mein Endziel ist es zu versuchen, nur den Text von einer Seite zu bekommen. Ich versuche nur, den Text aus dem Körper zu bekommen, mit einem speziellen Fall, um den Titel und/oder alt-Attribute von <a>
oder <img>
Tags zu bekommen.Wie kann ich Kommentar-Tags aus HTML mit BeautifulSoup entfernen?
Bisher habe ich diese 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) Was schlagen Sie den besten Weg für meinen speziellen Fall nicht, diese Attribute von den beiden Tags ausschließen ich oben aufgeführt? Wenn es zu komplex ist, um dies zu tun, ist es nicht so wichtig wie # 2.
2) Ich möchte <!-- -->
Tags und alles dazwischen entfernen. Wie würde ich darüber gehen?
QUESTION EDIT
@jathanism: Hier sind einige der Kommentar-Tags, die ich versucht habe, auszuziehen, aber bleiben, auch wenn ich dein Beispiel verwenden
<!-- 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() //-->
Gibt es ein Quelldokument, das Sie als Testfall verwenden? Es wäre sehr hilfreich, wenn Sie etwas zur Verfügung stellen könnten, das Ihnen als Vergleichsgrundlage dient. – jathanism
Hinzugefügt Quelle mit zu spielen. – Nathan