发现在运行过程中有少量的请求有异常,或者请求响应了404 500之类的,又或者代码本身运行抛异常, 怎么记录这些异常呢。
Pendekatan semasa saya ialah menggunakan perisian tengah muat turun untuk menangkap permintaan yang gagal, untuk rujukan anda sahaja
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})
Adakah anda mahu merekodkan pengecualian melalui log? Scrapy menyediakan fungsi log
http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/logging.html
Pendekatan semasa saya ialah menggunakan perisian tengah muat turun untuk menangkap permintaan yang gagal, untuk rujukan anda sahaja
Adakah anda mahu merekodkan pengecualian melalui log? Scrapy menyediakan fungsi log
http://scrapy-chs.readthedocs.io/zh_CN/1.0/topics/logging.html