Python 使用BeautifulSoup按id获取div的内容
我正在使用python2.7.6、urllib2和BeautifulSoup 从网站提取html并存储在变量中 如何使用beautifulsoup仅显示id为的Python 使用BeautifulSoup按id获取div的内容,python,html,python-2.7,beautifulsoup,html-parsing,Python,Html,Python 2.7,Beautifulsoup,Html Parsing,我正在使用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> div内容 分区资料 div事件 会是 <p>div content<
div
的html内容
<div id='theDiv'>
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
div内容
分区资料
div事件
会是
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
div内容
分区资料
div事件
加入div标签的元素:
从bs4导入美化组
data=”“”
div内容
分区资料
div事件
"""
汤=美汤(数据)
div=soup.find('div',id='theDiv')
打印“”。加入(映射(str,div.contents))
印刷品:
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
div内容
分区资料
div事件
自4.0.1版以来,有一个函数解码内容()
:
>soup=BeautifulSoup(“”)
div内容
分区资料
div事件
""")
>>>打印(soup.div.decode_contents())
div内容
分区资料
div事件
有关此问题解决方案的更多详细信息:似乎有效!你能解释一下打印“”的过程吗?join(map(str,div.contents))@user8028当然,
contents
实际上包含了标记的所有子项,这些子项可以表示为字符串或标记
类实例。应用map(str,…)
有助于将每个子项转换为字符串。希望有帮助。我在div的内容中有一个特殊字符(€)。我如何将其编码为ascii,以便它可以打印到终端或写入文件?我总是收到错误UnicodeCodeerror:“ascii”编解码器无法对位置31处的字符u'\u20ac'进行编码:序号不在范围内(128)
<p>div content</p>
<p>div stuff</p>
<p>div thing</p>
>>> 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>