Python 3.x 指定元素后的scrapy xpath提取文本

Python 3.x 指定元素后的scrapy xpath提取文本,python-3.x,web-scraping,text,scrapy,Python 3.x,Web Scraping,Text,Scrapy,我有这样的html <h1 id="1"><i>2</i>sample contents</h1> 但是如果我赋值给一个变量,那么我只想得到后面没有html的文本吗 比如说 header = response.xpath('//*[@id="1"]') # the below will get text WITH html tags header.get() header.extract_first()

我有这样的html

<h1 id="1"><i>2</i>sample contents</h1>
但是如果我赋值给一个变量,那么我只想得到后面没有html的文本吗

比如说

header = response.xpath('//*[@id="1"]')
# the below will get text WITH html tags
header.get()
header.extract_first()
我想要的是,如果我分配给
标题
,并且我只想获取文本,我如何才能做到这一点

提前感谢您的建议和帮助

编辑:


通过测试Moein的答案,不知何故,我得到的回报是
“\r\n\r\n”
间距,而不是您可以通过调用
头上的
XPath
变量继续您的XPath地址:

header.xpath('./text()).get()

这个问题有点不清楚。你能编辑你的问题并把输入和预期的输出放在那里吗?@AndrejKesely updated:重复你问题中的代码,然后用它来解析,这样我就有了一些空白,sryz我应该发布一个示例html,我错了
现在我编辑了答案,它应该可以正常工作。我最终创建了这个解决方案
header.xpath('self:*/text()')。get()
这与您的解决方案之间有区别吗?当然有区别,但当您希望从当前节点继续使用xpath时,谈论功能两者的作用是相同的。
header = response.xpath('//*[@id="1"]')
# the below will get text WITH html tags
header.get()
header.extract_first()