我想为网页的dom创建一个分层视图。
例如此网页:
<body>
<div class="A"> </>
<div class="B">
<div class="C"> </>
</>
我想要这样的结果
node parent_node
body
div class="A" body
div class="B" body
div class="C" div class="B"
我尝试对xpath使用scrapy
for mytable in response.xpath("//*"):
yield {
'node': mytable,
'parent': mytable.xpath("//parent::*")
}
但是它没用,它一直循环着
感谢您的帮助。我想让它适用于任何网页(因此我没有特定于某个网页的信息)
安德森出色的答案解决了这个问题。
这是相当不错的,但是仍然有一个小问题。 Scrapy返回了一些奇怪的东西
<Selector xpath='//*' data=u'<span class="price">69,00\xa0\u20ac</span>'>
我希望获得更简洁的结果
<span class="price">69,00 €</span>