srapper de precios claros

89 views
Skip to first unread message

Martín Gaitán

unread,
Sep 20, 2016, 12:30:49 AM9/20/16
to preciosa-devs
dije que mandaba mañana pero no me aguanté y quise dejarlo corriendo esta noche. 


en el gist dejé los primeros json obtenidos (sucursales y otras)


PD: porfa, no rompamos el juguete (cuanto se bancará ese token?)

--

Martín Gaitán

unread,
Sep 28, 2016, 9:46:04 AM9/28/16
to preciosa-devs
Hola, anoche me puse a usar (a aprender) scrapy con scrapinghub y lo dejé corriendo . Pusheé el codigo del spider (ver https://github.com/mgaitan/preciosa/issues/248

Scrappinghub tiene la opcion de "publicar datasets" (para que queden accesibles para cualquiera, asi que me pareció buena idea hacerlo, ya que los datos del portal son creativecommons. 


Si se fijan, separé en 3 clases de items (sucursal, producto (datos unicos) y precio, que asocia id-sucural con id-precio). Como recorre todos los productos publicados para todas las sucursales, son un montón de datos y tarda bastante. Van casi 9 horas y aun no termina

Lo que queda para cerrar #248 es hacer el script de importacion de esos datos a preciosa, muy probablemente usando un "Adaptor" como describimos en un thread reciente y quedó por ser documentado oficialmente. 

Otra buena noticia es que descubri que en scrapinghub alguien ya ofrece datasets publicos para los sitios online de jumbo, vea y coto , https://app.scrapinghub.com/datasets?provider=acsa, aunque desconozco quien lo mantiene y si los deja corriendo periodicamente. 



Santi Vallazza

unread,
Sep 30, 2016, 10:49:50 AM9/30/16
to Martín Gaitán, preciosa-devs
Excelente Martin!

Yo hace unas semanas intenté hacer algo en scrapinghub pero no avancé. Tendría que sentarme con más paciencia.

Por ahora tengo buenas intenciones pero no mucho tiempo.
Colaboro con algunas ideas y haciendole propaganda a Preciosa.

Recomendás algún tutorial para scrapy?

Saludos!


--
Has recibido este mensaje porque estás suscrito al grupo "Preciosa" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a preciosa-devs+unsubscribe@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Santi Vallazza

unread,
Sep 30, 2016, 10:50:37 AM9/30/16
to Martín Gaitán, preciosa-devs
Otra pregunta:
fecha_relevamiento es un campo que agregaste vos?

Martín Gaitán

unread,
Sep 30, 2016, 11:40:04 AM9/30/16
to Santi Vallazza, preciosa-devs
2016-09-30 11:49 GMT-03:00 Santi Vallazza <rulo...@gmail.com>:
Recomendás algún tutorial para scrapy?

Sólo fui mirando el tutorial y la doc oficial, pero encontré un montón de ejemplos avanzados acá

les cuento de paso que el spider se detuvo en estado "cancelado" con la razon que se describe acá https://snag.gy/1emOJE.jpg, que no aclara mucho porque no hay logs. Me llama la atención que se justo a las 24hs de iniciado, por lo que sospecho una limitacion en el servicio de scrapinghub, más que en un banneo, pero no encontré en la documentación. 

bajó más de 4 millones de precios y la verdad no sé cuanto faltaba, pero calculo que al menos la mitad ( ~ 3000 sucursales x 3000 productos). 

Evidentemente, no escala bien :-/, probablemente haya que partir la corrida en varios spiders que scrappen distintos rangos de sucursales. 

Martín Gaitán

unread,
Sep 30, 2016, 11:44:47 AM9/30/16
to Santi Vallazza, preciosa-devs
2016-09-30 11:50 GMT-03:00 Santi Vallazza <rulo...@gmail.com>:
fecha_relevamiento es un campo que agregaste vos?

Gonzalo

unread,
Sep 30, 2016, 2:18:16 PM9/30/16
to Martín Gaitán, Santi Vallazza, preciosa-devs
Martín,

El 30 de septiembre de 2016, 12:39, Martín Gaitán <gai...@gmail.com> escribió:
les cuento de paso que el spider se detuvo en estado "cancelado" con la razon que se describe acá https://snag.gy/1emOJE.jpg, que no aclara mucho porque no hay logs. Me llama la atención que se justo a las 24hs de iniciado, por lo que sospecho una limitacion en el servicio de scrapinghub, más que en un banneo, pero no encontré en la documentación

Free subscriptions have a data retention period of 7 days and one single job can not run for more than 24 hours. [0]

No me quiero comprometer porque no se si voy a estar, pero si me quedo este finde trato de buscarle una vuelta.
slds,


--
Gonzalo.
#534331
#91296338
#15090H2467

Martín Gaitán

unread,
Sep 30, 2016, 9:38:05 PM9/30/16
to Gonzalo, Santi Vallazza, preciosa-devs
2016-09-30 15:17 GMT-03:00 Gonzalo <gonchi....@gmail.com>:
one single job can not run for more than 24 hours.

I knew it! (diria Mónica Geller)

Finalmente hice un cambio para que el spider reciba como argumento la *porcion del total sucursales* que debe crawlear y lo programé para cada dia 
crawlee 1/7 diferente. Es decir, por ejemplo, los domingos va a obtener los precios de la sucursal 1 a la 350, los martes de la 351 a la 700, etc. 




Obviamente los datos resultantes no serán 7 partes exactamente iguales, porque cada sucursal puede reportar precios de una cantidad distinta de productos, e incluso puede haber algun error (solapamiento o perdida de datos), si llega a cambiar el total de sucursales. 

No obstante, creo que puede funcionar y a la vez será más manejable el conjunto de dataset resultante (el de la corrida cancelada anterior pesa 528mb en CSV y sabemos que está incompleto, no quise ni probar en json!)

Reply all
Reply to author
Forward
0 new messages