繁体   English   中英

如何在单个项目中获取scrapy xpath输出

[英]How to get scrapy xpath output in single item

我提取特定的xpath表达式为:

#item["post"]=response.xpath("//div[contains(@id,'node-')]/div//p//text()").extract()

当我以.csv格式导出文件时,内容以单独的行显示为:

Hi, Steps:,
1. Enabled calendar module.,
2. Enabled date api, date pop up, date views.

我想将帖子导出为一行,如下所示:

Hi, Steps:, 1. Enabled calendar module., 2. Enabled date api, date pop up, date views.

请帮我解决问题...

您可以执行一些选择。

首先将多个Field添加到您的项目。 但是我想这不是您想要的。

问题的真正原因是,当您使用xpath('//...').extract()您会返回结果列表。 一个解决方案是将结果结合在一起:

item["post"] = ' '.join(response.xpath("//div[contains(@id,'node-')]/div//p//text()").extract())

在您的情况下,即使是元素也可能有换行符,因此在这种情况下,我也将摆脱那些新行。 为此,您可以使用map(unicode.strip, ...)

是的,map()方法适合我的情况: item["post"]=map(unicode.strip,response.xpath("//div[contains(@id,'node-')]/div//p//text()").extract())

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM