Если я правильно понимаю ваше намерение, вы можете попробовать следующее:
а) собирать почтовые идентификаторы в self.emails как
def extemail(self, response):
emails = response.css('body').re('[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+')
self.emails = emails.copy()
yield {
'emails': emails
}
(или каким другим способом вы получаете адреса электронной почты от emails
)
b) добавить метод закрытия (self, reason), как в GitHub-Example , который вызывается, когда паук завершил
def close(self, reason):
mails_for_record = ""
for mail in self.emails:
mails_for_record += mail + "|"
print(self.record + mails_for_record)
Обратите также внимание, я где-то читал, что для некоторых версий Scrapy это def close(self, reason)
, для других - def closed(self, reason)
.
Надеюсь, этот процесс поможет вам.