从网页抓取文本

问题描述 投票:0回答:9

我想编写一个程序来查找公交车站时间并相应地更新我的个人网页。

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

  1. 访问 www.calgarytransit.com
  2. 输入停靠站号码。即)9510
  3. 点击“下一班车”按钮

结果可能如下所示:

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

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

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

python c text html
9个回答
13
投票

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


5
投票

您所问的称为“网络抓取”。 我确信如果你用谷歌搜索你会发现一些东西,但核心概念是你想要打开到网站的连接,吞入 HTML,解析它并识别你想要的块。

Python Wiki 有很多关于这方面的内容。


3
投票

既然你是用 C 语言编写的,你可能想看看 cURL;特别是看看 libcurl。太棒了。


2
投票

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


2
投票

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

use strict;
use LWP;

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

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

您的响应对象可以告诉您是否成功以及返回页面的内容。您还可以使用同一个库发布到页面。

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


1
投票

该网站不提供 API 供您获取所需的适当数据。在这种情况下,您需要解析由 CURL 请求等返回的实际 HTML 页面。


1
投票

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

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


0
投票

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


0
投票

Beautiful Soup 是一个专为解析网页而设计的 Python 库。在它和 urllib2 (Python 3 中的请求)之间,你应该能够弄清楚你需要什么

© www.soinside.com 2019 - 2024. All rights reserved.