[pyar] scrapyando páginas con javascript

Angel Java Lopez ajlopez2000 en gmail.com
Mie Mar 19 18:27:52 ART 2014


Yo iria por el 2, tambien

Pero hace llamadas ajax?

O trae javascript que dinamicamente arma la pagina?




2014-03-19 18:23 GMT-03:00 Jairo Trad <frodobolsonxx en gmail.com>:

> Vas a terminar haciendo el 2 en el 90% de los casos no tiene sentido
> levantar tanto overhead... empeza a hacerte amigo de firebug... o de ultima
> usa las herramientas que vienen incluidas en crome que son bastante buenas
> para eso.
>
>
> El 19 de marzo de 2014, 18:18, Pablo Gabriel Celayes <
> pablocelayes en gmail.com> escribió:
>
>> 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
>>
>
>
>
> --
> Jairo Trad
> Ing. en Computación - FCEFyN - UNC
> ar.linkedin.com/in/ingjairotrad
>
> _______________________________________________
> 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/20140319/7d077860/attachment.html>


More information about the pyar mailing list