【发布时间】:2015-06-14 05:21:34
【问题描述】:
我有一个带有 4 个 div 的 HTML 正文,其中 div 中有文本。我使用 Scrapy Selectors 删除文本并将其写入 csv。但是,如果 div 没有文本,则选择器会跳过它。这很糟糕,因为结果需要匹配 csv 中的每一列。我需要空 div 来返回空字符串。
想要的结果是:
blah,blah,,blah
由于这个要求,这不起作用:
csvfile.writerow(Selector(text=Z).xpath('//div/text()').extract())
给予:
blah,blah,blah
其中 Z 是 html 正文。
当前代码是:
for sl in Selector(text=Z).xpath('//div'):
g = sl.xpath('./text()').extract()
jl.append(g)
csvfile.writerow(sum(jl,[]))
这几乎可行,但我得到了一个返回列表的列表:
[u'blah'],[u'blah'],[],[u'blah']
而不是想要的:
blah,blah,,blah
如果我尝试展平列表:
csvfile.writerow(sum(jl,[]))
我回到了我开始的地方,空字符串从列表中删除。
blah,blah,blah
【问题讨论】:
标签: python list css-selectors scrapy