Domanda

Vorrei scrivere un programma che troverà gli orari delle fermate dell'autobus e aggiornerà di conseguenza la mia pagina web personale.

Se dovessi farlo manualmente lo farei

  1. Visita www.calgarytransit.com
  2. Immettere un numero di stop. cioè) 9510
  3. Fai clic sul pulsante " bus successivo "

I risultati potrebbero essere i seguenti:

  

10: 16p Route 154
  10: 46p Percorso 154
  11: 32p Route 154

Dopo aver acquisito tempo e percorsi, aggiornerò di conseguenza la mia pagina web.

Non ho idea da dove cominciare. So che si occupa di programmazione web ma è in grado di scrivere C e Python. Quali sono alcuni argomenti / librerie che potrei esaminare?

È stato utile?

Soluzione

Beautiful Soup è una libreria Python progettata per l'analisi pagine web. Tra esso e urllib2 ( urllib.request in Python 3) dovresti essere in grado di capire di cosa hai bisogno.

Altri suggerimenti

Quello che stai chiedendo si chiama " web scraping " Sono sicuro che se cerchi su Google troverai alcune cose, ma l'idea di base è che vuoi aprire una connessione al sito Web, digerire l'HTML, analizzarlo e identificare i blocchi che desideri.

Il Wiki Python ha molte cose in merito.

Dato che scrivi in ??C, potresti voler dare un'occhiata a cURL ; in particolare, dai un'occhiata a libcurl. È fantastico.

È possibile utilizzare la libreria meccanize disponibile per Python http://wwwsearch.sourceforge.net/mechanize /

Puoi usare Perl per aiutarti a completare il tuo compito.

use strict;
use LWP;

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

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

Il tuo oggetto responce può dirti se ha funzionato oltre a restituire il contenuto della pagina. Puoi anche usare questa stessa libreria per pubblicare su una pagina.

Ecco un po 'di documentazione. http://metacpan.org/pod/LWP::UserAgent

Questo sito non offre un'API per poter ottenere i dati appropriati di cui hai bisogno. In tal caso, dovrai analizzare la pagina HTML effettiva restituita, ad esempio, da una richiesta CURL.

Questo si chiama Web scraping e ha persino il suo articolo di Wikipedia dove puoi trovare maggiori informazioni.

Inoltre, potresti trovare maggiori dettagli in questo SO discussione .

Fintanto che il layout della pagina web che stai cercando di 'raschiare' non cambia regolarmente, dovresti essere in grado di analizzare l'html con qualsiasi linguaggio di programmazione moderno.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top