Вы, вероятно, делаете что-то, что не предназначено.Если
url = colom.xpath('//*[@id="tab-5"]/ul/li/@data-href').extract_first()
внутри цикла, url
всегда приводит к одному и тому же значению.По умолчанию Scrapy фильтрует повторяющиеся запросы (см. здесь ).Если вы действительно хотите очистить один и тот же URL несколько раз, вы можете отключить фильтрацию на уровне запроса с аргументом dont_filter=True
для конструктора scrapy.Request
.Тем не менее, я думаю, что вы действительно хотите, чтобы это было так (осталась только соответствующая часть кода):
def parse(self, response):
Colums = response.xpath('//*[@id="tab-5"]/ul/li')
for colom in Colums:
url = colom.xpath('./@data-href').extract_first()
yield scrapy.Request(url, callback=self.parse_dir_contents)