从网页抓取文本

时间:2009-01-07 05:14:40

标签: python c text webpage

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

如果我要手动执行此操作,我会

  1. 访问www.calgarytransit.com
  2. 输入一个停止号码。即)9510
  3. 点击“下一班巴士”按钮
  4. 结果可能如下所示:

      

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

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

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

8 个答案:

答案 0 :(得分:13)

Beautiful Soup是一个用于解析网页的Python库。在它与{3}之间(Python 3中的urllib2)之间,您应该能够找出所需内容。

答案 1 :(得分:5)

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

Python Wiki有很多东西。

答案 2 :(得分:3)

由于你用C语言写作,你可能想看看cURL;特别是,看看libcurl。太棒了。

答案 3 :(得分:2)

您可以使用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

答案 4 :(得分:2)

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

的mechanize库

答案 5 :(得分:1)

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

答案 6 :(得分:1)

这称为网页抓取,它甚至有自己的Wikipedia article,您可以在其中找到更多信息。

此外,您可以在此SO discussion中找到更多详细信息。

答案 7 :(得分:0)

只要您尝试“刮”的网页布局不会经常更改,您就应该能够使用任何现代编程语言解析html。