xpath获取所有文本,而不仅仅是第一行

时间:2014-03-18 17:23:49

标签: python html python-2.7 xpath scrapy

我有这个HTML

    <td colspan="2" align="justify" class="inPage">
                <p>
                    2 bedroom + maids +balcony in Tiara Residence - Diamond type
                    <br>1700 sq.ft, furnished with kitchen equipment
                    <br>Sea view/ Atlantis view
                    <br>Selling Price: 4 million
                </p>
    </td>

我的xpath是:

normalize-space(.//div[@class='section']/table/tr[7]/td/p/text())

结果只是2 bedroom + maids +balcony in Tiara Residence - Diamond type

我需要p标记内的其他文字。

我使用scrapy 0.20和python 0.27

1 个答案:

答案 0 :(得分:1)

您只需使用

即可
normalize-space(.//div[@class='section']/table/tr[7]/td/p)

但是这个连接al文本节点,没有任何换行符。

与其他期望字符串参数的XPath字符串函数一样,

normalize-space()会将输入节点p转换为它的string-value。引用XPath 1.0 specifications

  

对于每种类型的节点,都有一种方法可以确定该类型节点的字符串值。对于某些类型的节点,string-value是节点的一部分;对于其他类型的节点,字符串值是从后代节点的字符串值

计算的