我想编写一个程序来查找公交车站时间并相应地更新我的个人网页。
如果我要手动执行此操作,我会
- 访问 www.calgarytransit.com
- 输入停靠点编号。即)9510
- 点击按钮“下一班车”
结果可能如下所示:
10:16p 154 号公路
10:46p 154 号公路
11:32p 154 号公路
一旦我抓住了时间和路线,我就会相应地更新我的网页。
我不知道从哪里开始。我知道对 Web 编程很深,但会写一些 C 和 Python。我可以研究哪些主题/库?
Beautiful Soup是一个用于解析网页的 Python 库。在它和urllib2( Python 3 中的urllib.request)之间,你应该能够弄清楚你需要什么。
你问的是所谓的“网络抓取”。我敢肯定,如果你用谷歌搜索你会发现一些东西,但核心概念是你想要打开一个到网站的连接,在 HTML 中啜饮,解析它并识别你想要的块。
Python Wiki在这方面有很多东西。
由于您是用 C 编写的,因此您可能需要查看cURL;特别是,看看 libcurl。这很棒。
您可以使用 Perl 来帮助您完成任务。
use strict;
use LWP;
my $browser = LWP::UserAgent->new;
my $responce = $browser->get("http://google.com");
print $responce->content;
您的响应对象可以告诉您它是否成功以及返回页面的内容。您也可以使用同一个库发布到页面。
您可以使用可用于 Python http://wwwsearch.sourceforge.net/mechanize/的 mechanize 库
该站点不提供 API 让您能够获取所需的适当数据。在这种情况下,您需要解析由例如 CURL 请求返回的实际 HTML 页面。
这称为Web 抓取,它甚至有自己的Wikipedia 文章,您可以在其中找到更多信息。
此外,您可能会在此SO 讨论中找到更多详细信息。
只要您尝试“抓取”的网页布局没有定期更改,您就应该能够使用任何现代编程语言解析 html。