web-dev-qa-db-ja.com

BeautifulSoupでidごとにdivのコンテンツを取得する

Python2.7.6、urllib2、BeautifulSoupを使用しています

webサイトからhtmlを抽出し、変数に格納します。

Beautifulsoupを使用して、IDを持つdivのhtmlコンテンツのみを表示するにはどうすればよいですか?

<div id='theDiv'>
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>

だろう

<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
6
user8028

Divタグの要素を結合します .contents

from bs4 import BeautifulSoup

data = """
<div id='theDiv'>
    <p>div content</p>
    <p>div stuff</p>
    <p>div thing</p>
</div>
"""

soup = BeautifulSoup(data)
div = soup.find('div', id='theDiv')
print ''.join(map(str, div.contents))

プリント:

<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
11
alecxe