Авторизируйтесь,
чтобы продолжить
Некоторые функции доступны только зарегистрированным пользователям
Неправильный логин или пароль
Добавить софт
Мой софт

Дайджест интернет-сайтов

Автор: Михаил Брод
Опубликовано: 22.07.2010
Источник: SoftKey.info

Существует много разных способов получать и обновлять информацию с сайтов, которые вас интересуют. Это и подписка на новости, и подключение к RSS-рассылкам, иными способами. Каждый выбирает себе то, что больше нравится. Но не всегда имеющиеся доступные способы позволяют получать ту информацию, которая вас на сайте интересует. И тогда встает вопрос: а есть ли способ получать с сайта именно ту информацию, которая вам нужна, не ожидая ее от владельцев?

Да, есть и такие решения, которые позволяют получить именно то, что вам требуется. Одно из них реализовано в программе Visual Web Ripper. Это программа, предназначенная для автоматического сбора информации с интернет-сайтов. Программа самостоятельно, на основе подготовленных шаблонов, может обходить целые сайты и собирать в структурированном виде требуемую информацию. Собранные данные сохраняются в различных форматах, включая XML, таблицы, базы данных. Особенно удобно выполнять сбор информации для сайтов интернет-магазинов, содержащих информацию о большом количестве товаров, продаваемых на них. Также можно обрабатывать новостные сайты, форумы (даже если требуется регистрация).

При первом знакомстве с программой кажется, что подготовить проект для получения информации довольно сложно. Но, используя многочисленные примеры, которые выложены на сайте разработчика, можно довольно быстро освоить предлагаемую технологию. Давайте пройдемся вместе с ними по этапам подготовки и разберемся, что требуется от пользователя.

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

Проект Visual Web Ripper определяет, каким образом можно выделить информацию не просто с одной страницы, а со всего сайта. Проект состоит из шаблонов и элементов содержания. Шаблоны определяют последовательность навигации по сайту, а элементы содержания - какую информацию требуется получить. Шаблоны могут содержать как шаблоны, так и элементы. Элементы ничего внутри себя не содержат.

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

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

Формирование шаблонов выполняется в режиме Selection mode. Понять, что вы находитесь в этом режиме, очень просто - при перемещении указателя над любым элементом веб-страницы он выделяется цветом. Предусмотрено формирование шести различных шаблонов - шаблон для ссылки, массива ссылок, шаблон для отправки данных через формы, шаблон навигации, шаблон для редиректа на другую страницу и шаблон выборки.

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

Вот теперь, получив начальные сведения об элементах проекта, попробуем создать проект по получению информации о новинках книжного магазина "Озон". Для этого создадим новый проект под таким же названием. В режиме навигации вводим в строку адреса адрес магазина http://ozon.ru, после чего в основном окне откроется его главная страница. По ссылке на книжные новинки перейдем на соответствующую страницу. Здесь мы видим перечень книг, в котором для каждой книги есть автор, название, стоимость, общее описание. Нам надо создать такой проект, когда эта информация была бы занесена в таблицу.

Для этого выберем в качестве базового элемент веб-страницы, который включает в себя полное описание книги. Этот элемент будет подсвечен желтым цветом. Теперь в разделе управления Options выберем вкладку List и на ней - пункт формирования списка, а поскольку у нас вертикальный перечень новинок, то еще и опцию Parent flow repeat. Остается нажать на кнопку Ok. И мы видим, как все элементы страницы, подобные выбранному, оказались также выделенными. Это означает, что мы подготовили шаблон для выбора требуемой информации.

Поскольку сформированная выборка нас устраивает, надо ее записать. Выберем в окне Captured Element вариант Templates и нажимаем на кнопку New. Дадим новому шаблону имя, тип шаблона - часть страницы, PageArea. Сохраним.

Следующий ход - создание набора элементов, которые будут принимать требуемую информацию из описания новинок. Для этого перейдем по кнопке Open сохраненного шаблона (фактически - это переход на следующий уровень). Если же нам потребуется изменить шаблон, следует использовать соответствующую кнопку.

Поскольку дальнейшие переходы нам не нужны, можно заняться формированием элементов (вместо типа Templates выбираем тип Content). Выделим на первом описании html-элемент, в который включен автор произведения. В блоке Options на вкладке Capture Type выбираем тип элемента, в нашем случае это будет тип Text. Подтверждаем выполненные настройки, после чего в каждом описании будет выделен автор книги. Аналогичным образом сформируем элементы для выборки названия книги, ее стоимости и описания.

В простейшем случае - работа завершена, проект подготовлен. Остается проверить, как он будет работать. Для этого в инструментальной панели выбираем инструмент для сбора данных (запускаем проект на выполнение). Здесь надо выбрать, с помощью какого инструмента будет выполняться этот сбор. Вариантов несколько. В программе есть два типа сборщика информации - Web Browser Collector и Web Crawler Collector. Первый в процессе работы перемещается по сайту точно так же, как это делали бы и вы. Следовательно, одновременно будет обрабатываться только одна страница сайта. Метод достаточно качественный, но медленный. Второй сборщик работает по типу поисковых машин, одновременно открывая несколько связей, несколько страниц и выполняя их обработку. Метод существенно быстрее, но есть и недостатки. При проверке шаблонов удобнее использовать первый метод, одновременно установив опцию отображения выполняемых действий в браузере. Настроив, выполним сбор данных.

Теперь собранные данные можно и просмотреть. Вначале необходимы настройки - в каком формате будут данные сохранены. Есть возможность сохранять в форматах XML, CSV, XLS, форматах баз данных MySQL, MS SQL. Необходимо также определиться, что делать с новыми данными: должны ли они замещать ранее полученные (если выборка уже производилась) либо дополнять уже имеющиеся данные. Когда выбор сделан, остается лишь преобразовать собранные данные в нужный формат и просмотреть их в специальном браузере.

Вот и получилось. Теперь можно разбираться и с другими возможностями программы (их еще много: например, можно создать проект для получения всех страниц раздела "Новинки" выбранного нами сайта; можно, наоборот, делать выборку только тех поступлений, которые еще не были выбраны ранее). Можно создавать проекты даже для таких сайтов, где, казалось бы, и структуры данных нет. В этом случае используется выборка по тегам либо в оболочке программы пишется собственный скрипт, существенно расширяющий ее возможности.

Но вот проект подготовлен, теперь остается решить, как и когда его запускать. Если требуется постоянное получение новой информации, можно разместить программу на каком-либо сервере и назначить расписание выполнения задач. Разработку проектов удобнее проводить на рабочем компьютере, а на сервер выкладывать уже готовый проект (его можно просто скопировать в соответствующую папку программы на сервере). Для автоматизации работы есть собственный планировщик задач. В нем также предусмотрена возможность информирования пользователя о результатах работы по e-mail.

Что же в результате дает эта программа? Возможность в компактном структурированном виде (для просмотра результатов можно и интерфейс придумать) просматривать массивы информации, вести поиск среди этих результатов, делать выборки. И все это вместо того, чтобы бороздить необъятные количества веб-страниц различных сайтов.



Статистика
Всего программ 29444
Скачиваний сегодня 63
Скачиваний вчера 1624