Виртуальная Школа Веб-мастерства

Webfocus.ru


Библиотека WebWalker. Обход всех ссылок на сайте

Из рубрики:  статьи про PHP, HTML, DHTML, Perl, CGI, Java, JavaScript, CGI, MySQL.

Основные преимущества. Простота использования. Требования: Perl, MySql. Библиотеки DBI, DBD MySql, LWP Simple, LWP UserAgent, HTML LinkExtor. Свойства и события.

Данная библиотека предоставляет возможность обхода на сайте всех ссылок. Таким образом, используя эту библиотеку, вы сможете проанализировать рекурсивно весь сайт.

 
Основные преимущества:
 
  • Простота в использовании 
  • Отказоустойчивость 
  • Возможность ускорения обхода ссылок путем размножения процессов
 
Требования:
 
  • Perl, MySql 
  • Библиотеки DBI, DBD::MySql, LWP::Simple, LWP::UserAgent, HTML::LinkExtor
 
Как видно из требований, библиотека WebWalker работает с базой данных MySQL, это связано с тем, что библиотека хранит все необходимые данные для обхода сайта в таблице базы данных. 
 
Пример использования: 
 
use WebWalker;
%params = (
-dbName => 'WebWalk',
-dbHost => 'localhost',
-dbLogin => '',
-dbPasswd => '',
-dbTable => 'links',
-ContentProcess => \&ContentProcess,
-LinkProcess => \&LinkProcess,
-ProxyServer => 'http://192.168.50.75:3128',
-Timeout => 300,
-Proxy => 'yes',
-URL => 'http://volph.appua.com'
);
Init(%params);
while(1) { Process(); }
sub ContentProcess {
print @_[0];
}
sub LinkProcess {
print @_[0]."\n";
return @_[0];
}
 
 
 
Как видно из примера, необходимо инициализировать несколько свойств и событий, а затем циклически вызывать процедуру Process().
 
 
 
Рассмотрим подробнее свойства и события:
 
-dbName - название базы данных (БД) 
-dbHost - ip-адрес расположения БД 
-dbLogin - логин БД 
-dbPasswd - пароль БД 
-dbTable - таблица БД, в которой библиотека будет хранить свои данные, для каждого сайта необходимо указывать разные имена 
-ContentProcess - указатель на событие (процедуру), которое вызывается при получении контекста HTML-страницы, в качестве параметра данному событию передается собственно сам контекст страницы 
-LinkProcess - указатель на событие (функцию), которое вызывается при нахождении в HTML-странице URL-адреса в теге. В качестве параметра, передается значение атрибута href тега . Если событие возвращает пустое значение, значит данная ссылка не будет обрабатывать библиотекой для обхода, иначе необходимо возвращать правильный HTTP-адрес 
-ProxyServer - адрес прокси-сервера в виде http://address:port 
-Timeout - таймаут в секундах 
-Proxy - использование прокси-сервера (yes/no) 
-URL - HTTP-адрес сайта, который необходимо рекурсивно обойти
 
 

 

СОВЕТ 

 
Для ускорения процесса обхода всех ссылок на сайте, необходимо запустить параллельно несколько скриптов. 
 

 
Автор: Александр Кулик 
Источник: volph.appua.com


 
 
 

Регистрация | Вход


Книги по раскрутке

Графика в дизайне

Виртуальная Школа Веб-мастерства
 
Copyright © 2006 - 2010
 
Перепечатка материалов разрешается с
обязательной ссылкой на авторство и сайт

Портал - начинающему веб мастеру, о веб дизайне, создании и раскрутке сайтов,
секреты seo, web design глазами профессионалов, дополнительно на сайте можно скачать программы, скрипты, gif-каринки, аватары, заготовки для баннеров и многое другое