Я немного смущен тем, как файлы cookie работают с Scrapy, и как вы управляете этими кукисами.
Это в основном упрощенная версия того, что я пытаюсь сделать:
Как работает сайт:
При посещении веб-сайта вы получаете файл cookie сеанса.
Когда вы выполняете поиск, веб-сайт запоминает, что вы искали, поэтому, когда вы делаете что-то вроде перехода на следующую страницу результатов, он знает поиск, с которым он имеет дело.
Мой script:
Мой паук имеет начальный URL-адрес searchpage_url
Поисковая страница запрашивается parse()
, и ответ формы поиска передается search_generator()
search_generator()
, затем yield
множество поисковых запросов с использованием FormRequest
и ответ формы поиска.
Каждый из этих FormRequests и последующих дочерних запросов должен иметь собственный сеанс, поэтому ему необходимо иметь собственный cookiejar и собственный cookie сеанса.
Я видел раздел документов, в котором говорится о мета-опции, которая запрещает объединение файлов cookie. Что это значит? Означает ли это, что у паука, у которого запрос будет иметь свой собственный cookiejar на всю оставшуюся жизнь?
Если файлы cookie находятся на уровне Spider, то как это работает, когда появляются несколько пауков? Можно ли создать только первый генератор запросов, чтобы создать новых пауков и убедиться, что с этого момента только этот паук имеет дело с будущими запросами?
Я предполагаю, что мне нужно отключить несколько одновременных запросов. В противном случае один паук будет выполнять несколько запросов в одном и том же файле cookie сессии, а будущие запросы будут касаться только самого последнего выполненного поиска?
Я в замешательстве, любые разъяснения будут получены очень сильно!
EDIT:
Другие параметры, о которых я только что подумал, полностью управляют cookie сеанса вручную и передают его от одного запроса другому.
Я предполагаю, что это означало бы отключить файлы cookie.. и затем захватить куки файл сеанса из ответа на поиск и передать его каждому последующему запросу.
Это то, что вы должны делать в этой ситуации?