example español crawlspider crawl python scrapy

python - español - Scrapy: Error no controlado



scrapy python install (1)

Mi raspador funciona bien durante aproximadamente una hora. Después de un tiempo, empiezo a ver estos errores:

2014-01-16 21:26:06+0100 [-] Unhandled Error Traceback (most recent call last): File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/crawler.py", line 93, in start self.start_reactor() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/crawler.py", line 130, in start_reactor reactor.run(installSignalHandlers=False) # blocking call File "/home/scraper/.fakeroot/lib/python2.7/site-packages/twisted/internet/base.py", line 1192, in run self.mainLoop() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/twisted/internet/base.py", line 1201, in mainLoop self.runUntilCurrent() --- <exception caught here> --- File "/home/scraper/.fakeroot/lib/python2.7/site-packages/twisted/internet/base.py", line 824, in runUntilCurrent call.func(*call.args, **call.kw) File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/utils/reactor.py", line 41, in __call__ return self._func(*self._a, **self._kw) File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/core/engine.py", line 106, in _next_request if not self._next_request_from_scheduler(spider): File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/core/engine.py", line 132, in _next_request_from_scheduler request = slot.scheduler.next_request() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/core/scheduler.py", line 64, in next_request request = self._dqpop() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/core/scheduler.py", line 94, in _dqpop d = self.dqs.pop() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/queuelib/pqueue.py", line 43, in pop m = q.pop() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/Scrapy-0.20.2-py2.7.egg/scrapy/squeue.py", line 18, in pop s = super(SerializableQueue, self).pop() File "/home/scraper/.fakeroot/lib/python2.7/site-packages/queuelib/queue.py", line 157, in pop self.f.seek(-size-self.SIZE_SIZE, os.SEEK_END) exceptions.IOError: [Errno 22] Invalid argument

¿Qué podría estar causando esto? Mi versión es 0.20.2. Una vez que obtengo este error, scrapy deja de hacer cualquier cosa. Incluso si detengo y lo vuelvo a ejecutar (usando un directorio JOBDIR), aún así me da estos errores. Necesito eliminar el directorio de trabajo y comenzar de nuevo si necesito deshacerme de estos errores.


Prueba esto:

  • Asegúrese de estar ejecutando la última versión de Scrapy (actual: 0.24)
  • Busque dentro de la carpeta reanudada y haga una copia de seguridad de las solicitudes del archivo.
  • Después de realizar la copia de seguridad, elimine la carpeta del trabajo scrapy
  • Comience el rastreo reanudando con la opción JOBDIR = nuevamente
  • Detener el rastreo
  • Reemplace las solicitudes recientemente creadas. Vistas con una copia de seguridad previa
  • Comience a gatear de nuevo