减去python中的html Div标记

减去python中的html Div标记,python,html,beautifulsoup,lxml,dom-manipulation,Python,Html,Beautifulsoup,Lxml,Dom Manipulation,我们如何从python中的Html字符串中减去div标记 比如说,, 我的HTMLDOM就像 <html> <div id ="main"> <div id = "child1"> ....(some doms) </div> <div id="child2"> .......(some nested dom) </div> </div> </html&

我们如何从python中的Html字符串中减去div标记

比如说,, 我的HTMLDOM就像

 <html>
 <div id ="main">
   <div id = "child1">
     ....(some doms)
   </div>
   <div id="child2">
      .......(some nested dom)
   </div>
 </div>
 </html>
,即我需要用这种方式获得“div#child1”

我为什么要这样是

就“child1”包含动态广告(一些动态加载内容)而言,它可能存在,也可能不存在。我无法使用“child1”id直接获取该内容

我在BeautifulSoup()中试用过它。版本=3.0.7a

   >>>div = BeautifulSoup.BeautifulSoup('div',{'id':'child1'})
   >>>div
      []

您能帮我解决上述问题吗?

您的问题不是很清楚。是否要在某个元素之前获取所有元素

import lxml.html as lh

html = """
<div id="div1">
</div>
<div id="div2">
</div>
"""

tree = lh.fromstring(html)

for el in tree.xpath("div[@id='div2']/preceding-sibling::div"):
    print el.attrib['id']
将lxml.html导入为lh
html=”“”
"""
tree=lh.fromstring(html)
对于tree.xpath中的el(“div[@id='div2']/前面的同级::div”):
打印el.attrib['id']
结果:

div1 第一组
您要查找的是从原始html中删除id=child1的
div
?@jcollado我必须获取id=“child1”数据的div才能提取。我想从div main中删除div child2。这样我就可以将div child1存储在我的数据库中。为什么需要“删除”一个元素才能提取另一个?只需使用一个选择器来获取所需元素,而忽略其他所有内容。既然你回到了网站,我想你已经阅读了答案。。。请以能够明确回答的方式澄清问题,或者对已给出的答案进行投票/选择作为已接受答案,前提是这些答案为您解决了问题!:) div1