-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Usar Item Loaders #19
Comments
Documentar el proceso de limpieza de datos para esto investigar todas las tareas de limpieza que se hacen en las spiders y en los pipelines. |
Pipelines
for k, v in item.items():
if isinstance(v, basestring) is True:
value = re.sub('\s+', ' ', v)
item[k] = value.strip()
else:
item[k] = v
try:
item['date'] = datetime.date.strftime(item['date'], '%Y-%m-%d')
except TypeError:
# our date is good, continue
pass
Spiders
item['host_name'] = data[7].xpath('./span/text()').extract()[0].strip() item['full_name'] = fields[1].xpath('text()').extract_first().strip()
item['host_name'] = data[7].xpath('./span/text()').extract()[0].strip() item['full_name'] = fields[1].xpath('text()').extract_first().strip() |
item = make_hash(item) Puede ser usado en su propio pipeline. |
@aniversarioperu, las primeras spiders con |
buena, el uso de item loaders es recomendado por la gente de Scrapy. |
pero ahora tenemos el problema que se están generando duplicados. Mirá: algún campo debe haber cambiado que ahora el hash sale diferente y al scrapear 2 veces los mismos registros se han guardado en la base de datos. Antes no pasaba eso. me parece que problema está aqui https://github.com/aniversarioperu/manolo_scraper/blob/master/manolo_scraper/manolo_scraper/spiders/congreso.py#L67 la fecha debe ser string YYYY-MM-DD |
Voy a revisar cual puede ser el problema. On Wednesday, August 19, 2015, AniversarioPeru notifications@github.com
|
@aniversarioperu, el problema es que los item loaders hacen las tranformaciones de los datos antes de pasar por el hash. Antes, se pasaba el hash primero y luego el item loaders. Es posible rescrapear todo y tener una base de datos Limpia desde el comienzo. Eso es lo que estaba pensando para un proximo cambio en Manolo. Hay que seguir trabajando en los cambios y luego volver a rescrapear todo para tener los datos consitentes y los hashes como deben ser. |
@aniversarioperu, we are using Item Loaders everywhere now :D. Note: TCSpider doesn't count as a spider. |
closed #19 |
Si usamos Items Loaders en los items podemos reducir la cantidad de codigo necesario para la Spider y podemos aprovechar las funciones para limpieza de datos.
The text was updated successfully, but these errors were encountered: