У меня вопрос
Когда я запускаю scrapy, он создает 3 файла журнала, и я открываю их, чтобы увидеть, есть ли ошибка
Но теперь мне нужно отправить свой код на удаленный сервер.
Итак, я хочу, чтобы сообщение журнала можно было отправлять на мою электронную почту
Смотрю документ, но до сих пор понятия не имею (Куда поместить этот код или как написать тело с моим журналом)
from scrapy.mail import MailSender
mailer = MailSender()
mailer.send(to=["someone@example.com"], subject="Some subject", body="Some body", cc=["another@example.com"])
Мой код такой:
class ProductSpider(Spider):
name = "shop"
start_urls = []
def __init__(self):
ScrapyFileLogObserver(open("spider.log", 'w'), level=log.INFO).start()
ScrapyFileLogObserver(open("spider_error.log", 'w'), level=log.ERROR).start()
ScrapyFileLogObserver(open("spider_warning.log", 'w'), level=log.WARNING).start()
super(ProductSpider, self).__init__()
def parse(self, response):
......
Может кто-нибудь дать мне направление. Спасибо.
1 ответ
Вы должны добавить расширение в свой проект и свой код там под closed_spider
И добавьте свое расширение в свой settings.py, например
EXTENSIONS = {
'scrapy.contrib.corestats.CoreStats': 500,
'scrapy.webservice.WebService': 500,
'scrapy.telnet.TelnetConsole': 500,
}
А также вы можете посмотреть этот источник
Надеюсь, вы получите свое решение.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.