2017-11-11 42 views
0

我想放弃使用Python的废材工具网站蟒蛇零碎的输出。想要一个字段添加到像一个序列号,其increament以1为每个产品报废

我能够放弃数据,但

我想一个附加字段添加到输出中 像一个“序列号”:“3001”, 每个产品它下脚料 串行ID应该增加通过如图1所示,像3002,3003,3004 .............

def parse_dir_contents(self,response): 
    cat = response.meta['cat'] 
    serial_id = I 
    item = [] 
    content = {} 

    content['serial_id'] = serial_id 
    content['url'] = response.url 
    content['category'] = cat 
    brand = response.xpath('//div[@class="pageinfo__brdcrmb"]/text()').extract()[0].split('/') 
    content['brand'] = brand[1].strip() 
    I = I + 1 
    item.append(content) 
    output = json.dumps(item, sort_keys=True, indent=4, separators=(',', ': ')) 
    self.json_file.write(output) 

对于上述代码我正在一个错误等

内容[ 'URL'] = response.url NameEr ror:未定义名称'响应'

+0

你可以修复这个问题的缩进?不知道函数'parse_dir_contents'结束的地方 – PRMoureu

回答

0

名称I未在第三行中定义。 将其更改为

serial_id = 1 

,然后增加与:

serial_id += 1 

您可以使用scrapy好处(如管道,确定项目和......),并保持你的代码整洁。

仔细阅读这个有用的文档:

https://doc.scrapy.org/en/latest/

相关问题