如果管道中的条件为真,如何增加蜘蛛中的计数器? [废料-PYTHON]
How to increment a counter in spider if condition in pipelines is True ? [SCRAPY-PYTHON]
我正在抓取项目并在网址中使用邮政编码 (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,以便移动到另一个邮政编码。
有办法吗?
在你的管道 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'])
我正在抓取项目并在网址中使用邮政编码 (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,以便移动到另一个邮政编码。
有办法吗?
在你的管道 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'])