Python 2.7 如何使用scrapy从python中的p标记中获取文本?

Python 2.7 如何使用scrapy从python中的p标记中获取文本?,python-2.7,scrapy,Python 2.7,Scrapy,但我得到的输出是这样的“开始日期” 有人能帮上忙吗?如果您不坚持使用CSS,您可以通过XPath获得它,如下所示: response.css('div.date_info p:nth-child(1) span:nth-child(1)::text').extract() 编辑: 或者,也可以使用CSS: date = response.xpath('//div[@class="date_info"]/p[1]/text()').extract()[1].strip() 要执行此操作,请注意

但我得到的输出是这样的“开始日期”


有人能帮上忙吗?

如果您不坚持使用CSS,您可以通过XPath获得它,如下所示:

response.css('div.date_info p:nth-child(1) span:nth-child(1)::text').extract()
编辑: 或者,也可以使用CSS:

date = response.xpath('//div[@class="date_info"]/p[1]/text()').extract()[1].strip()

要执行此操作,请注意
*::text

date = response.css('div.date_info p:nth-child(1)::text').extract()[1].strip()

@Linhart..成功了…非常感谢…只是想知道..我们不能通过使用CSS来实现吗?请参见编辑。我只是更喜欢使用XPath作为更强大的工具,但我也试图用同样的方式获得“2017年10月11日”。通过应用代码“response.css('div.date\u info p:nth child(1)::text').extract()[2].strip()”。我得到的o/p是这样的“”…请帮助我得到“2017年10月11日”。为此,您需要提供索引
[3]
,而不是
[2]
。看看无索引的纯
…extract()
的结果如何。不客气。只是考虑接受答案,这样它就不会悬而未决。字体、样式和代码高亮。
date = response.css('div.date_info p:nth-child(1)::text').extract()[1].strip()
for div in response.css("div.date_info > p"):
    for span in p.css("span"):
         " ".join(span .css("*::text").extract()) #here you have Start Date and End Date etc