подскажите программу для сбора внешних ссылок с сайта

G5
На сайте с 07.03.2008
Offline
122
326

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

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

wildbeez
На сайте с 13.06.2012
Offline
68
#1
grach5:
Несколько лет назад пользовался программой, которая проходит по сайту и собирает все внешние ссылки с него. Сейчас уже не могу найти ничего подобного. Кто знает что-то похожее?
Нужно, чтобы выдавал саму внешнюю ссылку и указывал где она находится. желательно, чтобы еще анкор показывала.

попробуйте xenu

PEG
На сайте с 15.01.2006
Offline
164
PEG
#2

Solomono.com

Ahrefs.com

Знаю всё про Digital Marketing (https://www.mrkt.ng), помогаю в инвестициях у брокера (https://www.positive-x.net), разиваю свой Q&A сервис (https://emmabot.com).
atranca
На сайте с 27.02.2011
Offline
126
#3
grach5:
Несколько лет назад пользовался программой, которая проходит по сайту и собирает все внешние ссылки с него. Сейчас уже не могу найти ничего подобного. Кто знает что-то похожее?
Нужно, чтобы выдавал саму внешнюю ссылку и указывал где она находится. желательно, чтобы еще анкор показывала.

если сайт большой то данный скрипт не советую (нагрузиш и сайт сканируемый и свой хост)

Это скрипт сбора ВСЕХ ссылок с сайта (автор NOmeR1)


<?php
$site = 'http://localhost/';
$mode = 2; // 1 = Использовать функцию file_get_contents, 2 = Использовать сокеты
foreach(get_urls($site) as $url) {
echo '<a href="'.$url.'">'.$url.'</a><br>'."\n";
}
@set_time_limit(0);
@ini_set('max_execution_time', 0);
function get($action) {
$url = parse_url($action);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 30);
if(!$fp) {
return false;
} else {
fputs($fp, 'GET '.$action.' HTTP/1.0'."\r\n".
'Host: '.$url['host']."\r\n".
'Referer: '.$url['scheme'].'://'.$url['host'].$url['path']."\r\n\r\n");
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
return $result;
}
}
function my_sort($array) {
$new_array = array();
foreach($array as $value) {
$new_array[] = $value;
}
return $new_array;
}
function JoinToSite($url, $site) {
$domain = parse_url($site);
$domain = $domain['scheme'].'://'.$domain['host'];
if($url{0} == '/') {
$link = $domain.$url;
} else if(preg_match('~^http(s)?:~i', $url)) {
if(parse_url($url, PHP_URL_HOST) == parse_url($site, PHP_URL_HOST)) {
$link = $url;
}
} else {
if(!preg_match('~^(ftp(s)?|javascript|mailto):~i', $url)) {
$dirname = '';
$explode = explode('/', parse_url($site, PHP_URL_PATH));
foreach($explode as $i => $dir) {
if($dir && $i != (count($explode)-1)) {
$dirname .= $dir.'/';
}
}
$link = $domain.'/'.$dirname.preg_replace('~(\A|/)\./~', '$1', $url);
$regex = '~/(?!\.\./)[^\x2F]+/\.\./~';
while(preg_match($regex, $link)) {
$link = preg_replace($regex, '/', $link);
}
}
}
return (isset($link) ? $link : false);
}
function GetAllUrlsFromUrl($url, $all_links) {
global $mode;
$first = (($mode == 1) ? @file_get_contents($url) : get($url));
preg_match_all('~<a[^>]+href[\x20]?=[\x20\x22\x27]?([^\x20\x22\x27\x3E]+)[\x20\x22\x27]?[^>]*>~i', $first, $second);
$array_urls = array();
foreach($second[1] as $link) {
$link = JoinToSite($link, $url);
if($link !== false && !in_array($link, $all_links)) {
$array_urls[] = $link;
}
}
return ((count($array_urls) > 0) ? $array_urls : false);
}
function get_urls($url) {
$old_links = array();
$new_links = array($url);
while(true) {
$url = $new_links[0];
$old_links[] = $url;
array_shift($new_links);
$get_urls = GetAllUrlsFromUrl($url, array_merge($old_links, $new_links));
if($get_urls) {
$new_links = array_merge($get_urls, $new_links);
} else {
if(sizeof($new_links)==0) {
break;
} else {
continue;
}
}
}
sort($old_links);
return $old_links;
}
?>
123
G5
На сайте с 07.03.2008
Offline
122
#4
wildbeez:
попробуйте xenu

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

PEG

соломоно показываает бред 8 месячной давности.

C Ahrefs.com не могу разобраться. Где он показывал исходящие ссылки с сайта? вижу только входящие ссылки на сайт.

atranca

спасибо, а большой это сколько?

можете пожалуйста дать аську автора скрипта.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий