Захват текста с веб-страницы - PullRequest
3 голосов
/ 07 января 2009

Я хотел бы написать программу, которая будет определять время остановки и соответственно обновлять мою личную веб-страницу.

Если бы я делал это вручную, я бы

  1. Посетите www.calgarytransit.com
  2. Введите номер остановки. т.е.) 9510
  3. Нажмите кнопку «Следующий автобус»

Результаты могут выглядеть следующим образом:

10: 16p, маршрут 154
10: 46p, маршрут 154
11: 32p, маршрут 154

Как только я уловил время и маршруты, я обновлю свою веб-страницу соответственно.

Понятия не имею, с чего начать. Я знаю, немного приседаю о веб-программировании, но могу написать немного C и Python. Какие темы / библиотеки я мог бы изучить?

Ответы [ 8 ]

13 голосов
/ 07 января 2009

Beautiful Soup - это библиотека Python, предназначенная для анализа веб-страниц. Между ним и urllib2 ( urllib.request в Python 3) вы сможете понять, что вам нужно.

5 голосов
/ 07 января 2009

То, о чем вы спрашиваете, называется "очисткой веб-страниц". Я уверен, что если вы будете гуглить вокруг, вы найдете кое-что, но основная идея заключается в том, что вы хотите открыть соединение с веб-сайтом, сделать блэп в HTML, проанализировать его и определить нужные куски.

В Python Wiki есть много материала об этом.

3 голосов
/ 07 января 2009

Поскольку вы пишете на C, вы можете проверить cURL ; в частности, взгляните на libcurl. Это здорово.

2 голосов
/ 07 января 2009

Вы можете использовать библиотеку механизации, доступную для Python http://wwwsearch.sourceforge.net/mechanize/

2 голосов
/ 07 января 2009

Вы можете использовать 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 голос
/ 07 января 2009

Это называется Соскоб в Интернете , и у него даже есть своя статья в Википедии , где вы можете найти больше информации.

Кроме того, вы можете найти больше деталей в этом обсуждении SO .

1 голос
/ 07 января 2009

Этот сайт не предлагает API для вас, чтобы иметь возможность получать необходимые данные, которые вам нужны. В этом случае вам необходимо проанализировать фактическую HTML-страницу, возвращенную, например, запросом CURL.

0 голосов
/ 07 января 2009

Пока макет веб-страницы, которую вы пытаетесь "почистить", не меняется регулярно, вы сможете анализировать html с любым современным языком программирования.

...