2017-07-11 15 views
0

何らかの理由で、すべての項目がタプルとして返されます。私が何が欠けているか分からない。他のすべてのクモやプロジェクトでは、それは単なるリスト(私がextract()を使う時)でした。リストの代わりにタプルとして出力される治療項目

{'acne': (None,), 
'function': ([u'\u2027Preservative'],), 
'function0': u'\u2027Preservative', 
'irritant': (None,), 
'name': (u'Potassium Sorbate',), 
'safety': (u'3',), 
'url': 'http://cosdna.com/eng/383bb7435.html'} 

ここは私のスパイダーコードです。行の終わりに

def parse(self, response): 
    inspect_response(response, self) 
    a = response.xpath('//table//tr') 

    for i in a: 
     item = CosdnaExtItem() 
     item['name'] = i.xpath('./td/a/text()').extract_first(), 
     item['url'] = i.xpath('./td/a/@href').extract_first(), 
     item['function'] = i.xpath('.//td[2]/span//text()').extract(), 
     item['acne'] = i.xpath('.//td[3]/span//text()').extract_first(), 
     item['irritant'] = i.xpath('.//td[4]/span//text()').extract_first(), 
     item['safety'] = i.xpath('.//td[5]/div//text()').extract_first(), 

     yield item 

答えて

1

注余分なカンマ:パイソン

x = y, 

item['function'] = i.xpath('.//td[2]/span//text()').extract(), 

x = (y,) 
と同じです
関連する問題