JRazor
@JRazor
Senior StarkOverFlow Programmer

Как несколько раз отправить в Request один и тот же адрес несколько раз в Scrapy?

Добрый день!

При отправке формы столкнулся с проблемой - не отправляется повторно один и тот же адрес. По всей видимости в Scrapy по умолчанию отключена повторная отправка одинаковых ссылок. Какая настройка дает мне такую возможность?

UPD. Если использовать так:
def parse(self):
    for data in years[1:8]:
        return Request(link, formdata={'year': str(data)}, callback=self.parse_year

def parse_year(self, response):
    print 'Hello!'

то Hello будет написано один раз вместо 7. Как сделать так, чтобы функция parse_year (это функция для примера) всегда принимала link?
  • Вопрос задан
  • 473 просмотра
Решения вопроса 1
Tark
@Tark
Pyramid'альный мир
И снова Roman Kitaev прав :D

return Request(link, formdata={'year': str(data)}, callback=self.parse_year

Эта строка моментально вернёт результат. Сразу же. А вот если её заменить на

def parse(self):
    result = []
    for data in years[1:8]:
        result.append(Request(link, formdata={'year': str(data)}, callback=self.parse_year))
    return result

то она вернёт список из результатов запроса. Это то, что нужно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы