Python “两全其美”;a「;刮片上的文本和常规文本

Python “两全其美”;a「;刮片上的文本和常规文本,python,scrapy,Python,Scrapy,我的跨度如下: <span class="name"> bla bla <a href="address">foo</a> bar </span> 布拉布拉巴 我想让scrapy在没有链接的情况下提取整个句子,意思是: bla bla foo bar 如何做到这一点?您可以使用后代或self:*/text()xpath表达式: //span[@class="name"]/descendant-or-self::*/text() 演

我的跨度如下:

<span class="name">

    bla bla <a href="address">foo</a> bar
</span>

布拉布拉巴
我想让scrapy在没有链接的情况下提取整个句子,意思是:
bla bla foo bar


如何做到这一点?

您可以使用
后代或self:*/text()
xpath表达式:

//span[@class="name"]/descendant-or-self::*/text()
演示(使用):

$cat index.html
布拉布拉巴
$scrapy shell index.html
>>>results=sel.xpath('//span[@class=“name”]/genderant或self:*/text()).extract()
>>>''。加入(结果)
u'bla bla foo bar'
$ cat index.html 
<span class="name">bla bla <a href="address">foo</a> bar</span>
$ scrapy shell index.html
>>> results = sel.xpath('//span[@class="name"]/descendant-or-self::*/text()').extract()
>>> ''.join(results)
u'bla bla foo bar'