2014-10-29 150 views
3

我正面臨一個問題,那就是我必須從子節點獲取結果,該結點可能是父節點,也可能不是父節點,而使用其他節點Xpath在scrapy。考慮像如何使用XPath從父節點獲取子節點的文本

<h1 class="main"> 
<span class="child">data</span> 
</h1> 

<h1 class="main"> 
<span class="child"> 
<span class="child2">data</span> 
</span> 
</h1> 

我的解決辦法response.xpath(".//h1[@class='main']/span/text()").extract()

回答

1

使用//text,它會將您的跨度內返回列表中的所有文本元素從,雙方父母和的情況下小孩:

response.xpath(".//h1[@class='main']/span//text()").extract() 
+0

它的工作...謝謝 – Pramod 2014-10-30 03:57:34

+0

@PramodBisht,如果我的回答可以幫助你解決問題。請**接受**我的回答/ upvote :) – Anzel 2014-10-30 05:06:59

+1

to upvote atleast 15 points are required and I beginner with only one points。我希望你明白。 – Pramod 2014-10-30 09:26:03

1

可以使用:

  • response.xpath("string(.//h1[@class='main']/span)").extract()
  • 甚至response.xpath("string(.//h1[@class='main'])").extract()如果你整個頭文本後
相關問題