2013-06-25 64 views
1

如何在BS4提取的div內容:提取div的內容?

>>> Doc 
<div class="document"> 
<p>Text.</p> 
<p>More text</p> 
</div> 

>>> type(Doc) 
bs4.element.Tag 

,我想

<p>Text.</p> 
<p>More text</p> 

回答

1

使用.contents

>>> Doc = soup.find('div', {'class': 'document'}) # assuming soup is your main content 
>>> for i in [x for x in Doc.contents if x != '\n']: 
...  print i 
... 
<p>Text.</p> 
<p>More text</p> 
+0

對不起 - 也許我應該說明它 - 但在div下可能會有任意複雜的html:表,列表等等。 – Adobe

+0

@Adobe那麼只需打印div標籤的全部內容? – TerryA

+0

是的:'

CONTENTS
' - >'CONTENTS'。 – Adobe

0

得到公正的div的全部內容,無論其中包含哪些元素,請使用soup.find("div").prettify()來有效獲取內部HTML。

+0

我遇到了使用utf8的問題。我甚至不知道它是否根據需要剝離了div。 – Adobe