Pregunta

Me gustaría escribir un programa que encuentre los horarios de las paradas de autobús y que actualice mi página web personal en consecuencia.

Si tuviera que hacer esto manualmente, lo haría

  1. Visite www.calgarytransit.com
  2. Introduzca un número de parada. es decir, 9510
  3. Haz clic en el botón " siguiente bus "

Los resultados pueden parecerse a los siguientes:

  

10: 16p Ruta 154
  10: 46p Ruta 154
  11: 32p Ruta 154

Una vez que haya capturado el tiempo y las rutas, actualizaré mi página web en consecuencia.

No tengo idea de por dónde empezar. Sé perfectamente sobre la programación web, pero puedo escribir algo de C y Python. ¿Cuáles son algunos temas / bibliotecas que podría analizar?

¿Fue útil?

Solución

Beautiful Soup es una biblioteca de Python diseñada para el análisis. páginas web. Entre él y urllib2 ( urllib.request en Python 3) debería poder averiguar lo que necesita.

Otros consejos

Lo que estás preguntando se llama "web scraping". Estoy seguro de que si buscas en Google, encontrarás algunas cosas, pero la idea central es que deseas abrir una conexión al sitio web, insuflar el HTML, analizarlo e identificar los fragmentos que deseas.

El Python Wiki tiene muchas cosas sobre esto.

Ya que escribe en C, puede consultar cURL ; En particular, eche un vistazo a libcurl. Es genial.

Puede usar la biblioteca de mecanizado que está disponible para Python http://wwwsearch.sourceforge.net/mechanize /

Puedes usar Perl para ayudarte a completar tu tarea.

use strict;
use LWP;

my $browser = LWP::UserAgent->new;

my $responce = $browser->get("http://google.com");
print $responce->content;

Su objeto de respuesta puede indicarle si tuvo éxito y también devolver el contenido de la página. También puede utilizar esta misma biblioteca para publicar en una página.

Aquí hay algo de documentación. http://metacpan.org/pod/LWP::UserAgent

Ese sitio no ofrece una API para que pueda obtener los datos adecuados que necesita. En ese caso, deberá analizar la página HTML real devuelta por, por ejemplo, una solicitud CURL.

Esto se llama raspado web , e incluso tiene su propio artículo de Wikipedia donde puedes encontrar más información.

Además, puede encontrar más detalles en este discusión SO .

Siempre que el diseño de la página web que intentas "raspar" no cambie regularmente, deberías poder analizar el html con cualquier lenguaje de programación moderno.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top