2010/3/31 Olemis Lang (Simelix) <[email protected]>:
[...]
>
> Bueno, para ya aprovechar este hilo, quiero parametrizar un pipeline
> que utilice un ItemExporter .
>
> Q:
> - ¿Es posible reutilizar
> scrapy.contrib.pipeline.fileexport.FileExportPipeline ?
Según veo, el FileExportPipeline no soporta añadir exporters dinámicamente.
Pero es buena idea.
> - En caso positivo, ¿Cómo añado el nuevo exporter para que sea
> consistente con EXPORT_FILE | EXPORT_FORMAT ?
> - ¿Cómo logro leer, desde el exporter o el pipeline, otros settings que
> necesitaré ?
Si quieres seguir el api de los exporters, podrías extender un existente
o el scrapy.contrib.exporter.BaseItemExporter
Y luego hacer un pipeline similar al FileExport pero sólo para tu exporter.
Pero puedes irte directo por el camino del pipeline, algo como
# imports
class MyPipeline(object):
def __init__(self):
# initialize resources
self.file = open("items.dat", "w+")
dispatcher.connect(self.engine_stopped, signals.engine_stopped)
def process_item(self, spider, item):
# format line from item...
line = ",".join(item.values())
self.file.write(line + "\n")
return item
def engine_stopped(self):
# close resources and cleanup
self.file.close()
Sobre el settings, te refieres a algo como:
from scrapy.conf import settings
flag = settings.getbool('CUSTOM_FLAG')
value = settings.get('CUSTOM_VALUE', 'default_value')
Saludos
~Rolando
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/