X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Помогите немного доработать скрипт, сбор внутренних ссылок
Biznessman
Biznessman
Topic Starter сообщение 1.4.2013, 10:53; Ответить: Biznessman
Сообщение #1


Завсегдатай
*****

Группа: Active User
Сообщений: 688
Регистрация: 22.7.2009
Поблагодарили: 187 раз
Репутация:   49  


Здравствуйте!
Моя задача:
собрать все внутренние ссылки со списка URL.
Вот нашел скрипт, который собирает внешние ссылки, но в нем каждую страницу нужно вводить вручную.
Можно его как-то модифицировать, что бы вводить список URL и на выходе мы получали все внутренние ссылки со всего списка.
+ в результатах должны быть только ссылки (без анкоров).
Сам скрипт:
Развернуть/Свернуть

<html>
<head>
<title>links</title>
</head>
<body>
<h2>links</h2>
<?php

function site_copy($url){
$tmp0 = 'temp/site_copy0.php';
$tmp = 'temp/site_copy.php';
$rez = '';
$rez = @file_get_contents($url);
file_put_contents ($tmp0,$rez);
$rz = @file_get_contents($tmp0);
$rz = preg_replace ( "'<!--(.+?)-->'si", "", $rz );
$rz = preg_replace ( "'<script(.+?)</script>'si", "", $rz );
$rz = preg_replace ( "'<style(.+?)</style>'si", "", $rz );
$rz = preg_replace ( "'<img(.+?)>'si","<img src='images/links.gif'>", $rz);
$rz = eregi_replace ( '"', '', $rz );
$rz = eregi_replace ( "'", "", $rz );
$rz = eregi_replace ( '=//', "=http://", $rz );
$rz = preg_replace ( "'<a(.+?)href'si", "<a href", $rz );
$rz = preg_replace ( "'<a href( +?)='si", "<a href=", $rz );
$rz = preg_replace ( "'<a href=( +?)'si", "<a href=", $rz );
$rz = preg_replace ( "'title(.+?)>'si", ">", $rz );
$rz = preg_replace ( "'target(.+?)>'si", ">", $rz );
file_put_contents ($tmp,$rz);
}

function inlinks($url){
$tmp = 'temp/site_copy.php';
$str=file_get_contents($tmp);
preg_match_all ( "'<a(.+?)>(.*?)</a>'si", $str, $links );
$rez=''; $nn=0;
for ($i=0; $i< count($links[0]); $i++)
{
if (substr_count ($links[1][$i],'//')==0)
{ //str_replace("\n",'',$pr);
$nn++;
$rez=$rez .$nn .' ' .$links[0][$i] ."   \n" . substr($links[1][$i],6) . "\n<br>";
}
}
$rez='<br>  Найдено ' .$nn .' внутренних ссылок<br><br>' .$rez;
return $rez;
}

?>

<form method="POST" id="form" name="form" action="" accept-charset="utf-8" >
Введите адрес сайта:<br>
<input type="text" name="url" id="url" value="" onclick="this.form.url.value=this.form.url.value.replace('http://', '');">
<input type="submit" name="go" value=" пуск " onclick="this.form.url.value=this.form.url.value.replace('http://', '');">
</form>


<?php
$url = 'http://' .$_REQUEST['url'];
if (($url!='') && isset($url)){
site_copy($url);
echo inlinks($url);
}
?>
<br><br>
</body>
</html>


АПД: Если у кого-то есть другое решение моей задачи - с удовольствием выслушаю.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kRicha
kRicha
сообщение 1.4.2013, 11:48; Ответить: kRicha
Сообщение #2


Завсегдатай
*****

Группа: Active User
Сообщений: 933
Регистрация: 29.6.2010
Из: Киева
Поблагодарили: 222 раза
Репутация:   39  


Biznessman, помогаю.

Заменияете инпут на тексареа, вводите туда список адресов, эксполодом получаете массив адресов и форичем проходишь по всему архиву. Все.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Max_Q
Max_Q
сообщение 1.4.2013, 21:31; Ответить: Max_Q
Сообщение #3


Участник
***

Группа: User
Сообщений: 118
Регистрация: 13.11.2011
Поблагодарили: 46 раз
Репутация:   13  


Biznessman, я так понимаю цель написать обычный скрипт-паук. Если так, то готовых решений уже предостаточно. Поищите в гуглу php crawler. В github'e их полно.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужен скрипт
0 Barselona 445 Вчера, 10:03
автор: Barselona
Горячая тема (нет новых ответов) Помогите, пожалуйста, моей дочери выжить!
благотворительный топик
30 vitvirtual 3798 19.5.2018, 8:30
автор: vitvirtual
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСкрипт локальной сапы OWLM
Скрипт для работы со своими донорами и PBN
0 EroPaysSupport 330 18.5.2018, 17:33
автор: EroPaysSupport
Открытая тема (нет новых ответов) Продам скрипт тизерной сети adbox
9 KsaAZaks 2121 15.5.2018, 22:13
автор: KsaAZaks
Открытая тема (нет новых ответов) Продвигаю страницу по запросу "Как сделать игру". Помогите советом, пожалуйста
Я секу в теме! Но подать статью угодным поисковикам образом не смо
22 coremission 2207 8.5.2018, 12:33
автор: coremission


 



RSS Текстовая версия Сейчас: 26.5.2018, 12:33
Дизайн