【发布时间】:2015-12-22 21:44:09
【问题描述】:
我需要帮助清理 Python Scrapy 输出。我有以下获取元素内容的简单蜘蛛。
class ScrapyscrapSpider (BaseSpider) :
name = "ss"
allowed_domains = ["purecss.io"]
start_urls = ['http://purecss.io/tables/']
def parse(self, response) :
sel = Selector (response)
item = ScrapscrapyItem ()
item['Heading'] = str (sel.xpath('/html/body/div[2]/div/div[1]/div/div[1]/h1').extract ())
item['Content'] = str (sel.xpath ('//table[@class = "pure-table"]//tr[1]/td[2]').extract ())
item['Source_Website'] = "http://purecss.io"
return item
命令:
scrapy crawl ss -o data.csv -t csv
输出:
Content,Heading,Source_Website
"[u'<td>Honda</td>', u'<td>Honda</td>']",,
我只想将“Honda”打印到 csv 文件并删除其他所有内容。
extract()[1] 仍然给我“[u'Honda', u'Honda']”,,
【问题讨论】:
-
.extract()返回一个列表,获取列表的第一个元素。 -
extract ()[1] 仍然给我 "[u'
Honda ', u'Honda ']",, -
更新您的问题
-
我认为您应该包含更多代码。使用 sn-ps 有时很好,但您的 sn-p 不会产生您的输出。
-
sel.xpath('/html/body/div[2]/div/div[1]/div/div[1]/h1/text()').extract()[0 ]
标签: python csv xpath scrapy output