Question

J'aimerais écrire un programme qui détecte les heures des arrêts de bus et met à jour ma page Web personnelle en conséquence.

Si je devais le faire manuellement, je le ferais

  1. visitez le site www.calgarytransit.com
  2. Entrez un numéro d'arrêt. c'est à dire) 9510
  3. Cliquez sur le bouton "bus suivant"

Les résultats peuvent ressembler à ce qui suit:

  

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

Une fois l'heure et les itinéraires saisis, je mettrai à jour ma page Web en conséquence.

Je ne sais pas par où commencer. Je sais que squatter sur la programmation Web, mais peut écrire du C et Python. Quels sont les sujets / bibliothèques que je pourrais examiner?

Était-ce utile?

La solution

Beautiful Soup est une bibliothèque Python conçue pour l'analyse les pages Web. Entre cette valeur et urllib2 ( urllib.request en Python 3), vous devriez pouvoir déterminer ce dont vous avez besoin.

Autres conseils

Ce que vous demandez, est appelé "Web scraping". Je suis sûr que si vous parcourez Google, vous trouverez des informations utiles, mais l'idée de base est que vous souhaitez ouvrir une connexion au site Web, lire le code HTML dans le code HTML, l'analyser et identifier les éléments de votre choix.

Le Wiki Python contient de nombreuses informations à ce sujet.

Puisque vous écrivez en C, vous pouvez vouloir vérifier cURL ; en particulier, jetez un oeil à libcurl. C'est génial.

Vous pouvez utiliser la bibliothèque mécanize disponible pour Python http://wwwsearch.sourceforge.net/mechanize /

Vous pouvez utiliser Perl pour vous aider à mener à bien votre tâche.

use strict;
use LWP;

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

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

Votre objet réponse peut vous dire s'il a réussi et vous renvoyer le contenu de la page. Vous pouvez également utiliser cette même bibliothèque pour publier sur une page.

Voici de la documentation. http://metacpan.org/pod/LWP::UserAgent

Ce site ne propose pas d’API pour vous permettre d’obtenir les données appropriées dont vous avez besoin. Dans ce cas, vous devrez analyser la page HTML réelle renvoyée, par exemple, par une requête CURL.

Cela s'appelle Web scraping , et il a même son propre article de Wikipedia. où vous pouvez trouver plus d'informations.

Vous pouvez également trouver plus de détails dans ce Discussion SO .

Tant que la mise en page de la page Web que vous essayez de "gratter" ne change pas régulièrement, vous devriez être capable d'analyser le code HTML avec n'importe quel langage de programmation moderne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top