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?
  • Вопрос задан
  • 466 просмотров
Решения вопроса 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

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

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 13:10
400000 руб./за проект
24 апр. 2024, в 13:01
5000 руб./за проект
24 апр. 2024, в 13:00
3000 руб./за проект