Size: a a a

2020 July 08

AR

Andrey Rahmatullin in Scrapy
источник

SM

Setplus Mac in Scrapy
я тут был
источник

AR

Andrey Rahmatullin in Scrapy
мёд-пиво пил
источник

SM

Setplus Mac in Scrapy
:)
источник

AR

Andrey Rahmatullin in Scrapy
yield response.follow кладёт реквест в очередь, когда реквест выполнится, вызовется колбэк, на этом всё, никакой другой магии там нет
источник

AR

Andrey Rahmatullin in Scrapy
а parse это обычная питонья функция и когда выполнение дошло до её конца она завершается
источник

AR

Andrey Rahmatullin in Scrapy
поэтому в приведённом коде один раз вызывается yield response.follow, parse завершается, выполняется parse_item с ответом от этого реквеста и всё
источник

AR

Andrey Rahmatullin in Scrapy
надо несколько реквестов - значит надо несколько yield, а если хочется какой-то другой control flow то надо вообще переделывать всё
источник

SM

Setplus Mac in Scrapy
Так, во - первых, спасибо!
во-вторых, то есть, зашли мы на сайт пауком, вызвалась parse —> обработали ответ в итем (parse_item), далее вернули управление ретурном parse. В самом парсе делаем Request на след страницу.

чтобы это сделать, надо в parse сначала вызвать parse_item, потом уже Request на след страницу, так?
источник

AR

Andrey Rahmatullin in Scrapy
нет никакого "вернули управление ретурном parse"
источник

SM

Setplus Mac in Scrapy
но return l.load_item()...
источник

AR

Andrey Rahmatullin in Scrapy
и нет никакого " самом парсе делаем Request на след страницу." потому что приведённый parse делает реквест ровно один раз, на следующую страницу
источник

AR

Andrey Rahmatullin in Scrapy
Setplus Mac
но return l.load_item()...
и?
источник

AR

Andrey Rahmatullin in Scrapy
yield response.follow это не вызов колбэка как функции напрямую
источник

SM

Setplus Mac in Scrapy
return же передаёт упраление load_item(). А
источник

AR

Andrey Rahmatullin in Scrapy
... нет
источник

К

Кирилл in Scrapy
Паук должен вернуть или итем или запрос. Итемы идут в пайплайны, запросы счедулятся
источник

AR

Andrey Rahmatullin in Scrapy
return l.load_item() вызывает load_item() и возвращает его результат
источник

SM

Setplus Mac in Scrapy
А..сама цепочка запросов формируется внутри parse вызовом yield Request(...)?
источник

К

Кирилл in Scrapy
Setplus Mac
А..сама цепочка запросов формируется внутри parse вызовом yield Request(...)?
Да и в любом другом калбэке
источник