想要在python scrapy输出中添加一个字段,比如序列号,每个产品被刮取时该字段递增1

6psbrbz9  于 2023-08-05  发布在  Python
关注(0)|答案(1)|浏览(96)

我试图一个网站使用Scrappy工具的Python。
我可以 *
我想在输出中添加一个额外的字段,如“序列号”:“3001”,对于它的每个产品,序列号应递增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)

字符串
对于上面的代码,我得到一个错误,如
content['url'] = response.url NameError:未定义名称“response”

xxb16uws

xxb16uws1#

第三行中的名称I未定义。改成

serial_id = 1

字符串
然后增加:

serial_id += 1


您可以使用scrapy的好处(如管道,定义项目和.)并保持代码整洁。
阅读这些有用的文档:
https://doc.scrapy.org/en/latest/

相关问题