减去python中的html Div标记
我们如何从python中的Html字符串中减去div标记 比如说,, 我的HTMLDOM就像减去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&
<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