2011-02-23 9 views
5

Parece que han terminado con su API. Tienen una herramienta mucho menos poderosa llamada Search Gateway. ¿Cómo voy a tomar los datos del precio de las tarifas aéreas usando esto? ¿Es posible? Prefiero trabajar en PHP o Ruby on Rails si es posible.¿Cómo raspar los datos de precios de kayak.com?

Específicamente, deseo comenzar a reunir datos sobre el precio más bajo de las tarifas aéreas entre aproximadamente 10 pares de ciudades. Me gustaría tener datos para cada hora del día. Podría comprobar el kayak a mano, pero me gustaría poder automatizar este proceso.

+1

No haría eso porque el desguace de pantalla es un truco básico, quiero decir que cada vez que vayan a actualizar su sitio web tendrían que actualizar su secuencia de comandos. Además, desde el punto de vista legal, pueden demandarlo por usar sus datos sin su consentimiento o simplemente prohibir su IP del servidor. – RageZ

+1

Sí, puede estar seguro de que si se deshicieron de su API, es probable que no quieran que obtenga datos de ellos. – Brad

+0

Buen punto. Acabo de escribirle un correo electrónico a kayak y le pedí permiso. Espero que no les importe, porque mi pequeño proyecto no pondrá ninguna tensión indebida en sus servidores. – dasl

Respuesta

2

Railscast tiene un episodio en screen scraping. Básicamente puede usar la gema nokogiri para analizar el sitio web y obtener la información que necesita.

En cuanto a ejecutarlo regularmente, puede crear un trabajo cron para eso. Aquí hay un relacionado stackoverflow question en él.

Si desea alojar el sitio en alguna parte, sugeriría Heroku. Lo único que no será gratuito es ejecutar el trabajo cron más de una vez al día. Pero si estás de acuerdo con ejecutarlo solo una vez al día, todo se hospedará de forma gratuita.

+0

¿Alguien ya hizo esto? Estoy planeando hacer algo como esto yo mismo, pero me preguntaba si hubo algún proyecto de OSS que hiciera lo mismo ... –

0

Trate iMacros, lo usé para la pantalla raspado de varios sitios web de reservas de hotel.

Pero incluso con una buena herramienta, todavía es mucho trabajo. Así que no lo haría solo por reservar un vuelo ...

-1

Puede hacerlo utilizando la biblioteca de solicitudes de Python; sin embargo, Kayak usa cookies y encabezados http para detectar y filtrar el tráfico de scripts y scripts automatizados. Para omitir esto, realmente tiene que entender qué solicitudes GET y POST se están realizando y a qué URL, y cómo se configuran las cookies. Además, sin falsificar los encabezados HTTP correctos, se detectará el script/bot. Aquí está una secuencia de comandos python que funciona con éxito webscrapes kayak: https://github.com/seaunderwater/kayak-webscraper

+1

Si bien este enlace puede responder la pregunta, es mejor incluir las partes esenciales de la respuesta aquí y proporcionar el enlace de referencia. Las respuestas de solo enlace pueden dejar de ser válidas si la página vinculada cambia. - [De la crítica] (/ review/low-quality-posts/18988139) – dferenc

+0

Por favor, no solo publique alguna herramienta o biblioteca como respuesta. Al menos demuestre [cómo resuelve el problema] (http://meta.stackoverflow.com/a/251605) en la respuesta misma. – LW001

Cuestiones relacionadas