从网页抓取文本

我想编写一个程序,可以找到公共汽车站的时间并相应地更新我的个人网页。

如果我手动这样做,我会的

  1. 访问www.calgarytransit.com
  2. 输入一个停止号码。 即)9510
  3. 点击“下一class巴士”按钮

结果可能如下所示:

10:16p 154号公路
10:46p 154号公路
11:32p 154号公路

一旦我抓住了时间和路线,我就会相应地更新我的网页。

我不知道从哪里开始。 我知道他们对网络编程很沮丧,但可以编写一些C和Python。 我可以研究哪些主题/库?

Beautiful Soup是一个用于解析网页的Python库。 在它和urllib2之间 (Python 3中的urllib.request )你应该能够弄清楚你需要什么。

您所询问的内容称为“网页抓取”。 我敢肯定,如果你在谷歌周围找到一些东西,但核心概念是你想打开一个网站连接,在HTML中啜饮,解析它并识别你想要的块。

Python Wiki在这方面有很多东西。

由于您使用C语言编写,您可能需要查看cURL ; 特别是,看看libcurl。 这很棒。

您可以使用可用于Python的mechanize库http://wwwsearch.sourceforge.net/mechanize/

您可以使用Perl来帮助您完成任务。

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

您的responce对象可以告诉您它是否已经取消以及返回页面的内容。您也可以使用相同的库发布到页面。

这是一些文档。 http://metacpan.org/pod/LWP::UserAgent

该网站不提供API,以便您能够获得所需的适当数据。 在这种情况下,您需要解析由(例如)CURL请求返回的实际HTML页面。

这称为Web抓取 ,它甚至有自己的维基百科文章 ,您可以在其中找到更多信息。

此外,您可能会在此SO讨论中找到更多详细信息。

只要你试图’刮’的网页布局不经常改变,你应该能够用任何现代编程语言解析html。