Скрипт Human Emulator для создания карты сайты

Предлагаем вашему вниманию скрипт, который создаёт карту сайта в xml формате и в виде страницы для сайта. Скрипт сам расставляет приоритет в зависимости от степени вложенности страницы. Главной странице назначается 1.0. Страницам следующего уровня 0.8, потом 0.6 всем остальным назначается значение по умолчанию 0.5. Скрипт имеет фильтра, что бы не добавлять не нужные ссылки или картинки или видео.

В результате работы скрипта по заданному пути появляется файлы sitemap.xml и sitemap.php.
Sitemap.xml строиться на основе протокола для карт сайта. Про этот протокол можно прочитать тут.
Sitemap.php создаётся на основе шаблона страницы вашего сайта.

Пример XML файла с результатами:


	
	
	http://humanemulator.net/index.php
	daily
	1.0
	

		http://humanemulator.net/interface.php
		weekly
		0.8
		

		http://humanemulator.net/interface/main-menu.php
		monthly
		0.6
		

		http://humanemulator.net/interface/main-menu/file.php
		

		http://humanemulator.net/interface/main-menu/edit.php
		

		http://humanemulator.net/interface/main-menu/type.php
		
и т.д.

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

// ////////// настройки скрипта///////////////////
// проверяемый сайт
$site="http://humanemulator.net/";
// главная страница сайта
$main_page=$site."index.php";
// путь к шаблону для создания карты сайта
$temp_path="/data/template.php";
// папка с результатами
$res_path="/res/";

// проверочная строка 
$error_404="Error 404: File Not Found";

// фильтр по словам в href
// задавать через , 
// какие ссылки не обрабатывать
$filter="/forum/,/images/,#,.jpg,.mp4";

Сам скрипт:

delete($res_path."sitemap.php");
$file_os->delete($res_path."sitemap.xml");
$file_os->delete($res_path."tmp.txt");

// создать sitemap.xml
create_xml($main_page);
// добавим главную страницу в массив
$pgl=new PageLinks();
$pgl->page=$main_page;
$pgl->link_info=$main_page;
$a_links=array($pgl);
// собираем и проверяем 
for($k=0;$kpage);
      // проверяем фильтры
    if(!check_filter($pg))
       continue;
  
    // переходим на сайт
    $browser->navigate($pg);

    // проверить на 404
    if(check_page_404($pg))
       continue;

    // добавим в sitemap.xml 
    if($k>0)
    {
       add_to_xml($pg);
       // запишем во временный файл
		$textfile->add_string_to_file($res_path."tmp.txt",$a_links[$k]->link_info."\n",60) ;
    }

	 // получим все href-ы на странице
	 $hrefs=$anchor->get_all_hrefs();
	 // преобразуем в массив
	 $hrefs=explode("
",$hrefs); // пройтись по всем hrefs и удалим лишнее for($ii=0; $iiget_inner_text_by_href($pg_href1,false); $str=""; // если нет текста вместо него href if($in_txt=="") $str="$pg_href
"; else $str="$in_txt
"; $pgl=new PageLinks(); $pgl->page=$pg_href; $pgl->link_info=$str; $a_links[]=$pgl; } } } // запишем в файл закрывающий тэг $textfile->add_string_to_file($res_path."sitemap.xml","\n\n",60); // создадим sitemap.php файл $links=$textfile->read_file($res_path."tmp.txt",60) ; $templ =$textfile->read_file($temp_path,60); $templ=str_replace("{SITE_MAP}",$links,$templ); // запишем файл $textfile->write_file($res_path."sitemap.php",$templ,60) ; debug_mess(date("\[ d.m.y H:i:s\] ")." скрипт закончил работу
"); // Quit $app->quit(); ?>

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

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

скачать скрипт

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

Предлагаем вашему вниманию скрипт, который проверяет ссылки на сайте. Скрипт идёт по всем страницам сайта и прокликивает все ссылки в том числе и ссылки загрузки файлов. Для более быстрой работы скрипта рекомендуется отключить картинки и другие настройки браузера, запретить показывать сообщения и тд.

Если на сайте есть ссылки с авторизацией можно использовать функцию $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;$kpage;
      // проверяем фильтры
    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; $iiget_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 и Free версиях программы Human Emulator. Посмотреть все скрипты для Demo и Скачать Demo

скачать скрипт