Я играю с BeautifulSoup, и это здорово. Моя конечная цель - попытаться просто получить текст со страницы. Я просто пытаюсь получить текст из тела, со специальным случаем, чтобы получить заголовки и/или атрибуты alt из тегов <a>
или <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() //-->