为了账号安全,请及时绑定邮箱和手机立即绑定

如果管道中的条件为 True ,如何在蜘蛛中增加计数器?[SCRAPY-Python]

如果管道中的条件为 True ,如何在蜘蛛中增加计数器?[SCRAPY-Python]

慕码人2483693 2022-10-18 15:57:35
我正在抓取物品并在网址中使用邮政编码(cp)def parse(self, response):    liste = ['09', '81']    for counter in range(len(liste)):        cp = liste[counter]        for i in range(0, 2):            user_agent = random.choices(user_agent_list)            headers = {                'User-Agent': str(user_agent),                "Connection": "close",            }         next_pagination_link ='https://www.seloger.com/list.htm?projects=2&types=1,2&places=[{cp:' +                                str(cp) + '}]&sort=d_dt_crea&enterprise=0&qsVersion=1.0&LISTING-                                LISTpg=' + str(i) + ''在 pipilines.py 中,我在 process_item 方法中使用此脚本来删除 sql 数据库中的现有项目:    if record is None:        print('storing item')        self.store_db(item)        return True    elif record is not None:        raise DropItem("Item already exists: %s" % item['lien_du_bien'])我想要做的是:如果一个项目被丢弃,我想将蜘蛛中的变量计数器增加 1,以便移动到另一个邮政编码。有没有办法做到这一点 ?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

在def process_item(self, item, spider)您的管道内部,您可以spider.YOUR_SPIDER_VARIABLE访问 Spider 的任何变量


def process_item(self, item, spider):

    if record is None:

        print('storing item')

        self.store_db(item)

        return True

    elif record is not None:

        spider.VARIABLE_TO_INCREMENT

        raise DropItem("Item already exists: %s" % item['lien_du_bien'])


查看完整回答
反对 回复 2022-10-18
  • 1 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号