发现在运行过程中有少量的请求有异常,或者请求响应了404 500之类的,又或者代码本身运行抛异常, 怎么记录这些异常呢。
Mon approche actuelle consiste à utiliser un middleware de téléchargement pour capturer les demandes ayant échoué, à titre de référence uniquement
class CustomFaillogMiddleware(object): @classmethod def from_crawler(cls, crawler): return cls() def process_response(self, request, response, spider): if response.status >= 400: reason = response_status_message(response.status) self._faillog(request, u'HTTPERROR',reason, spider) return response def process_exception(self, request, exception, spider): self._faillog(request, u'EXCEPTION', exception, spider) return request def _faillog(self, request, errorType, reason, spider): with codecs.open('log/faillog.log', 'a', encoding='utf-8') as file: file.write("%(now)s [%(error)s] %(url)s reason: %(reason)s \r\n" % {'now':datetime.now().strftime("%Y-%m-%d %H:%M:%S"), 'error': errorType, 'url': request.url, 'reason': reason})
Voulez-vous enregistrer les exceptions via le journal ? Scrapy fournit une fonction de journal
http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/logging.html
Mon approche actuelle consiste à utiliser un middleware de téléchargement pour capturer les demandes ayant échoué, à titre de référence uniquement
Voulez-vous enregistrer les exceptions via le journal ? Scrapy fournit une fonction de journal
http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/logging.html