X-Scripts

Power by humanemulator

НАШИ КОНТАКТЫ:
ICQ My ICQ 625657402: 625657402
Наш скайп: igor_sev2
Email : order@x-scripts.com

Сообщество программистов и манимейкеров


Human Emulator Free!
Бесплатная версия программы Human Emulator!
Скачать программу можно тут!

Скрипт XHE проверки битых ссылок на сайте.

Предлагаем вашему вниманию скрипт, который проверяет ссылки на сайте. Скрипт идёт по всем страницам сайта и прокликивает все ссылки в том числе и ссылки загрузки файлов. Для более быстрой работы скрипта рекомендуется отключить картинки и другие настройки браузера, запретить показывать сообщения и тд.
Если на сайте есть ссылки с авторизацией можно использовать функцию $browser->set_default_authorization($login,$password);
Используя функции: $browser->disable_download_file_dialog($enable); и $browser->set_default_download($folder); можно проверить скачиваются ли все файлы с сайта.

В результате работы скрипта по заданному пути появляется файл, в котором записываются данные по битым ссылкам в следующем формате:
страница где находиться битая ссылка;href битой ссылки;текст битой ссылки

Пример файла с результатами:
http://humanemulator.net/interface/toolbar.php;http://humanemulator.net/171;Файл http://humanemulator.net/interface/toolbar.php;http://humanemulator.net/185;Скрипты http://humanemulator.net/interface/toolbar.php;http://humanemulator.net/205;Справка

Настройки скрипта:

// ////////// настройки скрипта///////////////////
// проверяемый сайт
$site="http://humanemulator.net/";
// путь к файлу с плохими ссыками
$path_bad_links="./res/bad_links.txt";
// проверочная строка, по которой мы определяем страницу 404
$error_404="Error 404: File Not Found";
// фильтр по словам в href ссылок
// задавать то что не нужно собирать через ,
// например: /forum/,/objects/, и т.д.
$filter="/forum/";

// режим отладки - для вывода сообщений в панель отладки
$dbg=true;

Сам скрипт:

/* ** 
//  Наш сайт http://x-scripts.com
//  Скрипт проверки битых ссылок на сайте.
//  по любым вопросам касающимся скрипта 
//  можно написать нам на мыло order@x-scripts.com
** */
$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../../Templates/xweb_human_emulator.php");

// ////////// настройки скрипта///////////////////
// проверяемый сайт
$site="http://humanemulator.net/";
// путь к файлу с плохими ссыками
$path_bad_links="./res/bad_links.txt";
// проверочная строка 
$error_404="Error 404: File Not Found";
// фильтр по словам в href
// задавать через ,
$filter="/forum/";

// режим отладки
$dbg=true;

// /////////////////// дополнительные модули /////////////////////
// функции 
require_once("functions.php");

// ///////////////////// script /////////////////////////////////////////////////////////
debug_mess(date("\[ m.d.y H:i:s\] ")." скрипт запустили");

// добавим главную страницу в массив
$pgl=new PageLinks();
$pgl->page=$site;
$pgl->link_info=$site;
$a_links=array($pgl);

// чистим данные
$file_os->delete($path_bad_links);

// собираем и проверяем 
for($k=0;$k<count($a_links);$k++)
{
    // получаем страницу
    $pg=$a_links[$k]->page;
      // проверяем фильтры
    if(!check_filter($pg))
       continue;
    
    // переходим на сайт
    $browser->navigate($pg);
    // проверить на 404
    if(check_page_404($a_links[$k]->link_info))
       continue;

	 // получим все href-ы на странице
	$hrefs=$anchor->get_all_hrefs();
	// преобразуем в массив
	$hrefs=explode("
",$hrefs); // пройтись по всем hrefs for($ii=0; $ii<count($hrefs); $ii++) { $pg_href=trim($hrefs[$ii]); // проверяем внутренняя ли ссылка if(strpos($pg_href,$site)===false) continue; // строка для получения текста ссылки $pg_href1=str_replace($site,"",$pg_href); // строка для запилси в файл с результатами $str="$pg;$pg_href;".$anchor->get_inner_text_by_href($pg_href1,false); // если ещё не проверяли проверим // добавим проверяемую страницу в массив if(!is_a_exists($pg_href)) { // создадим объект с данными по ссылке $pgl=new PageLinks(); $pgl->page=$pg_href; $pgl->link_info=$str; $a_links[]=$pgl; } } } debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу
"); // Quit $app->quit();



Скрипт написан 28.08.2012 в Human Emulator 4.4.19 Advanced. На момент публикации статьи 28.08.2012 скрипт был рабочий.

Этот скрипт работает в Demo версии программы Human Emulator. Посмотреть все скрипты для Demo и Скачать Demo

скачать скрипт
Количество скачиваний: 2503

<< Другие скрипты