Agarrar texto de una página web

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

Si tuviera que hacer esto manualmente lo haría

  1. Visita www.calgarytransit.com
  2. Introduzca un número de parada. es decir) 9510
  3. Haga 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 tomado el tiempo y las rutas, actualizaré mi página web en consecuencia.

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

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

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, es posible que desee revisar 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 decirle si tuvo éxito y también devolver el contenido de la página. También puede usar 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 conoce como web scraping , e incluso tiene su propio artículo de Wikipedia donde puede encontrar más información.

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

Siempre que el diseño de la página web que intenta “raspar” no cambie regularmente, debería poder analizar el html con cualquier lenguaje de progtwigción moderno.