Возник вопрос: возможно ли запускать несколько пауков в зависимости от условия.
К примеру:
запускаем сразу один паук, он служит для авторизации и получения Cookie после чего их сохраняет,
после его завершения запускается второй паук который работает дальше со страницей с помощью полученных Cookie от первого паука и работает до тех пор пока сессионные куки действительны.
После завершения работы второго паука нужно получить новые Cookie и снова запустить второй паук и т. д.
Подскажите, как такое реализовать
sim3x, вопрос в том, как мне запустить первый паук снова, после завершения второго или же сделать все в одном пауке и не усложнять? Либо подскажите как можно перезапустить паук после его завершения в автоматическом режиме
def start_requests(self):
#получаем куки
return scrapy.Request(...., callbac=self.parse)
#Делаем запрос на сайт раз в минуту
def parse(self, response):
data = [
{
some data
},
{
some data
}
]
for i in range(1, 1000): #Повторяем запрос, возможно другая реализация?
for d in data:
yield scrapy.Request(...., callback=self.search)
def search(self, response):
#Обрабатываем данные и провереяем, если куки не действительны, запустить все с начала
sim3x, в методе search мы извлекаем данные которые приходят после запроса в методе parse, если нам приходит редирект на страницу с логином, нужны новые куки
jiamak, https://doc.scrapy.org/en/latest/topics/request-re...
When some site returns cookies (in a response) those are stored in the cookies for that domain and will be sent again in future requests. That’s the typical behaviour of any regular web browser.