[pyar] scrapyando páginas con javascript

DF-- dj.foguelman en gmail.com
Vie Abr 4 14:23:14 ART 2014


Y usar splinter?

http://splinter.cobrateam.info/

 "En economía no hay nada misterioso ni inaccesible al entendimiento del
hombre de la calle. Si hay un misterio, reside él en el oculto propósito
que puede perseguir el economista y que no es otro que la disimulación del
interés concreto a que se sirve."

A. Jauretche


2014-03-19 18:18 GMT-03:00 Pablo Gabriel Celayes <pablocelayes en gmail.com>:

> Hola gentes, cómo andan?
>
> Les cuento un problema que estoy teniendo, a ver si alguno con experiencia
> en el asunto me puede iluminar un poco:
>
> Tengo que extraer información sobre precios de habitaciones y
> disponibilidades, de urls como esta:
>
>
> http://www.booking.com/hotel/tr/ayasofyahotel.en-gb.html?selected_currency=EUR&checkin=2014-03-20&checkout=2014-03-22
>
> En una primera etapa había tenido que traerme la lista de hoteles, y hasta
> ahí con scrapy solo me las arreglé bastante bien. El problema viene porque
> la data que estoy tratando de extraer ahora no está en el html estático,
> sino que se genera dinámicamente con javascript, y scrapy no me la trae.
>
> Estuve googleando bastante sobre el tema, y veo que hay varias formas de
> resolver esto, una de las cuales ya implementé a modo de prototipo (1.),
> pero que planeo tirar a futuro por cuestiones de eficiencia. A saber:
>
> 1. Interfacear con algún browser vía Selenium o similar, ponerle un
> timeout a cada página para esperar a que cargue y scrapear de ahí. Es lo
> que tengo hecho hasta ahora, pero según mis cuentas, tardaría 40hs en traer
> la data que necesito para una ciudad.
>
> 2. Hacer un poco de ingeniería inversa sobre las llamadas AJAX, para ver
> dónde se traen los json con la data que necesito, y hacer que scrapy haga
> esas requests directamente. Suena a la más eficiente, pero pinta bastante
> engorroso, y no he logrado dar con una herramienta que me simplifique el
> tema de trackear que partes de la página se cargan con que requests (capaz
> q el mismo firebug me lo permito, pero no termino de avivarme de cómo).
>
> 3. instanciar algún *headless-browser *como el webkit de PyQt4 y hacer lo
> mismo que con Selenium. Por lo que leí sería un toque más rápido.
>
> Tanto 1. como 3. mejorarán bastante haciendo multithreading me imagino,
> pero quiero saber si vale la pena antes de ponerme a hacerlo.
>
> ¿Qué creen que me conviene hacer?
>
> Desde ya mil gracias, retribuiré las respuestas en mates/ferneces en el
> PyCamp ;)
>
> --
>  *ıl**l**ıl**l**ı* ρąβℓ๏ *ıllı**lı*
> We are the problem. And we should provide the *solution*.
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140404/c41f727a/attachment.html>


More information about the pyar mailing list