python – Scrapy crawler,从字符串中删除逗号

def parse_item(self, response):
   for jobs in response.xpath('//div[@itemtype="http://schema.org/JobPosting"]'):
    item = IndeedCoUkItem()
    item["jobtitle"] = jobs.xpath('*[@class="jobtitle"]/a//text()').extract()
    yield item

项目保存为CSV文件,

职称

“高级,嵌入式,软件,工程师”

嗨,

以上是我的scrapy搜寻器代码的片段.我想输出是逗号和空白空间.这是从“高级,嵌入式,软件,工程师”到这个“高级嵌入式软件工程师”.我尝试使用replace(),如..extract()[0] .replace(“,”,“”),但它不起作用.任何帮助/建议?

最佳答案 您是否尝试打印/记录进入项目[‘jobtitle]字段的列表?如果它是一个列表(好吧,它是一个列表),那么导出到CSV文件会将此列表转换为逗号分隔的条目.

尝试查看结果并将列表加入到一个:

item["jobtitle"] = ' '.join(jobs.xpath('*[@class="jobtitle"]/a//text()').extract())

如果项目包含额外的空格而不是全部空格,则可以在元素上使用贴图和条带:

item["jobtitle"] = ' '.join(map(unicode.strip,jobs.xpath('*[@class="jobtitle"]/a//text()').extract()))

这会走遍所有元素,并在开始和结束时剥离空白.

或者你可以使用XPath的normalize-space:

item["jobtitle"] = ' '.join(jobs.xpath('normalize-space(*[@class="jobtitle"]/a//text())').extract())
点赞