Почему не отрабатывает условие в функции scrapy?
Изучаю Scrapy и столкнулся с такой проблемой. Хочу вернуться на предыдущую функция, но условие else почему-то не отрабатывает. Никаких ошибок не выдает, что не так?
def parse_sub_cat(self, response):
for i in response.xpath('//a[@data-track-action="CategoryOverviewNavigation"]'):
goods_url = response.urljoin(i.xpath("./@href").get())
product_parent = i.xpath("./text()").get()
yield response.follow(
url=goods_url,
callback=self.parse_cat,
cb_kwargs=dict(product_parent=product_parent)
)
def parse_cat(self, response, **cb_kwargs):
search_prod = response.css('article.m-grid-tile').css('div.m-grid-tile--image')
if search_prod is not None:
for i in search_prod:
ulr_product = response.urljoin(i.css('a::attr("href")').get())
cb_kwargs['model'] = i.css('a::attr("aria-label")').get()
yield response.follow(
url=ulr_product,
callback=self.parse_product,
cb_kwargs=cb_kwargs
)
else:
yield scrapy.Request(
url=response.url,
callback=self.parse_sub_cat,
)
в функции parse_cat, мне нужно чтобы если переменная search_prod пустая, то бралась текущая ссылка и вызывалась повторно предыдущая функция parse_sub_cat. Так вообще, можно делать?