我正在使用python2.7.6,urllib2和BeautifulSoup
从网站中提取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>
答案 0 :(得分:11)
加入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>
答案 1 :(得分:1)
从4.0.1版本开始,有一个函数decode_contents()
:
>>> soup = BeautifulSoup("""
<div id='theDiv'>
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
""")
>>> print(soup.div.decode_contents())
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
此问题的解决方案中的更多详细信息:https://stackoverflow.com/a/18602241/237105