我正在使用scrapy解析HTML文件,其内容如下:
<p class="title">
<a href="#">#Who#</a>
I don't <em>know</em>
who you are
</p>
我想按顺序提取不包含“a”标记的所有文本,所以我希望得到的结果是
["I don't ", 'know', 'who you are']
我试图使用以下代码
>>>selector = Selector(text="<p class='title'><a href='#'>#Who#</a>I don't <em>know</em>who you are</p>")
>>>p_txt =selector.xpath('//p[@class="title"]/text()').extract()
["I don't ", 'who you are']
结果,忽略了'em'标记中的文本
>>>p_txt =selector.xpath('//p[@class="title"]/descendant::text()').extract()
['#Who#', "I don't ", 'know', 'who you are']
但它也会将文本导出到“a”标记中。有没有好的解决方案?
谢谢