[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в рекурсии в функции
Эли4ка
Дорогие форумчане,прошу Вашей помощи.Где может быть ошибка в этой функции-функция отображает ArrayArray почему-то..?(Функция первая в моей жизни)

$indexed=array(); //массив проиндексированных ссылок
//$depth -глубина

function spider($url, $depth=0) {
global $indexed;
if($indexed[$url]) return;//если уже проиндексирована то пропускаем
if($depth<3){
$content=file_get_contents($url);
preg_match_all('#<a.*href="http://(.*)".*>#isU', $content, $match);
$indexed[$url]=true;
foreach($match as $link){
echo $link;
$link=$url;
//после выполнения увеличиваем глубину на 1
spider($link, $depth+1);
}
}
}

spider('http://phpforum.ru');




Спустя 21 минута, 19 секунд (20.05.2012 - 09:40) redreem написал(а):
foreach($match[0] as $link){

Спустя 3 минуты, 59 секунд (20.05.2012 - 09:44) redreem написал(а):
и регулярка явно глючная

Спустя 4 минуты, 54 секунды (20.05.2012 - 09:49) Игорь_Vasinsky написал(а):
Цитата
if($indexed[$url]) return;//если уже проиндексирована то пропускаем


женская логика

Спустя 10 минут, 7 секунд (20.05.2012 - 09:59) Эли4ка написал(а):
Цитата
женская логика

Игорь_Vasinsky,почему?
Цитата
и регулярка явно глючная

вот насчет регулярного выражения не надо..оно абсолютно рабочее..
redreem
Цитата
foreach($match[0] as $link){

что это?

Спустя 5 минут, 31 секунда (20.05.2012 - 10:04) Эли4ка написал(а):
вот немного переработанное регулярное выражение,но все-равно..
preg_match_all('#<a.*href\s*=\s*["\']http://(.*)["\'].*>#isU', $content, $match);

Спустя 8 минут, 7 секунд (20.05.2012 - 10:13) Игорь_Vasinsky написал(а):
Цитата
foreach($match[0] as $link){

foreach($match[1] as $link){

Спустя 2 минуты, 36 секунд (20.05.2012 - 10:15) redreem написал(а):
<?php

$indexed=array();


function spider($url, $depth) {

global $indexed, $domain;

if (isset($indexed[$url])) return;

if ($depth < 3) {

$content = file_get_contents($url);

preg_match_all('#\<a href=["^\']http://(.*)["^\']#isU', $content, $match);

$indexed[$url] = true;

echo '<ul>';

foreach($match[0] as $link){

$ref = preg_replace( "#\<a href=[\"^\']#isU", "", $link );
$ref = preg_replace( "#[\"^\']{1,1}#", "", $ref );


echo '<li>'.$ref.'</li>';

$d = parse_url($ref);

if ($d['host'] == $domain) spider($ref, $depth + 1);
}

echo '</ul>';
}

}


$url = 'http://phpforum.ru';
$domain = parse_url($url);
$domain = $domain['host'];

spider($url, 0);

?>

Спустя 2 минуты, 25 секунд (20.05.2012 - 10:18) Игорь_Vasinsky написал(а):
не. сыро.

Спустя 4 минуты, 10 секунд (20.05.2012 - 10:22) Эли4ка написал(а):
redreem
спасибо,работает на 100%..
Игорь_Vasinsky
ага,понятно..заменю..

Спустя 3 минуты, 33 секунды (20.05.2012 - 10:25) redreem написал(а):
Эли4ка

вовсе не на 100. продакш-версия будет в 5 раз больше. регулярки хватают не все ссылки, так как вид <a> может быть довольно вариативен. плюс надо на каждый шаг предусмотреть различные возможные исключения. это лишь минимально рабочий каркас, который "хоть что-то делает" smile.gif

Спустя 2 минуты, 32 секунды (20.05.2012 - 10:28) Эли4ка написал(а):
redreem
да,наверо я не правильно выразилась..

Спустя 1 минута, 22 секунды (20.05.2012 - 10:29) Игорь_Vasinsky написал(а):
нужно ещё сам текст ссылок - для построения sitemap

очень сыро, работаю ещё.

<?php
#header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

#$url = parse_url('http://games.mail.ru/pc/video/assassins_creed_3_world_gameplay_premiere_trailer/ ');
#echo '<pre>' . print_r($url, 1) . '</pre>';
#exit;


$indexed=array(); //массив проиндексированных ссылок
//$depth -глубина


function spider($url, $depth=0)
{
global $indexed;

$domain = parse_url($url);

if(isset($indexed[$url]))
return;//если уже проиндексирована то пропускаем

if($depth<3)
{
$content=file_get_contents($url);

preg_match_all('#<a.*href="(.*)".*>#isU', $content, $match);
preg_match_all('#<a.*href=".*".*>(.*)</a>#isU', $content, $name);

$indexed[$url]=true;

$i = 0;

foreach($match[1] as $link)
{
$i++;

if(substr_count($link,'/')>0)
if((substr_count($link, 'http://')) == 1)
echo $link.'<br />';
else
echo ucfirst(strtolower(strip_tags($name[1][$i]))).' | '.$domain['scheme'].'://'.$domain['host'].$link.'<br />';

$link=$url;

//после выполнения увеличиваем глубину на 1
spider($link, $depth+1);
}

#echo '<pre>' . print_r($name, 1) . '</pre>';
}
}


spider('http://forum.games.mail.ru');

?>

Спустя 7 минут, 58 секунд (20.05.2012 - 10:37) vital написал(а):
Вот оно начало написания конкурента гуглу.

Спустя 1 минута, 17 секунд (20.05.2012 - 10:38) Эли4ка написал(а):
Да Вы чего..это же денег стоит все..нигде в Google подобного не найдешь..а тут бац мне все и вываливают..Спасибо конечно большое..

Спустя 4 минуты, 36 секунд (20.05.2012 - 10:43) Игорь_Vasinsky написал(а):
уже получше, но тоже сыро, вставляет пустой текст ссылки если там не текст а картинка. просто стараюсь сразу по этапам выкладывать.
задача - если нет текста вставить тот же линк (но по сути нужно читать title)

<?php
#header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

#$url = parse_url('http://games.mail.ru/pc/video/assassins_creed_3_world_gameplay_premiere_trailer/ ');
#echo '<pre>' . print_r($url, 1) . '</pre>';
#exit;


$indexed=array(); //массив проиндексированных ссылок
//$depth -глубина


function spider($url, $depth=0)
{
global $indexed;

$domain = parse_url($url);

if(isset($indexed[$url]))
return;//если уже проиндексирована то пропускаем

if($depth<3)
{
$content=file_get_contents($url);

preg_match_all('#<a.*href="(.*)".*>#isU', $content, $match);
preg_match_all('#<a.*href=".*".*>(.*)</a>#isU', $content, $name);

$indexed[$url]=true;

$i = -1;

foreach($match[1] as $link)
{
$i++;

if(substr_count($link,'/')>0)
{
if(strip_tags($name[1][$i]))
$nameLink = ucfirst(strtolower(strip_tags($name[1][$i])));
else
$nameLink = $link;

if((substr_count($link, 'http://')) == 1)
echo $nameLink.' | '.$link.'<br />';
else

echo $nameLink.' | '.$domain['scheme'].'://'.$domain['host'].$link.'<br />';

}
$link=$url;

//после выполнения увеличиваем глубину на 1
spider($link, $depth+1);
}

#echo '<pre>' . print_r($name, 1) . '</pre>';
}
}


spider('http://forum.games.mail.ru');

?>



канешь удобней в ассоц массив собирать - это для наглядности.

Mail.ru | http://r.mail.ru/n91554644?sz=4&
Почта | http://r.mail.ru/n77699923?sz=4&
Мой мир | http://r.mail.ru/n91554645?sz=4&
Одноклассники | http://r.mail.ru/n79060275?sz=4&
Игры | http://r.mail.ru/n77699925?sz=4&
Знакомства | http://r.mail.ru/n77699926?sz=4&
Новости | http://r.mail.ru/n77699927?sz=4&
Поиск | http://r.mail.ru/n77699928?sz=4&
Авто | http://r.mail.ru/n77699929?sz=4&
Мото | http://r.mail.ru/n94588121?sz=4&
Ответы | http://r.mail.ru/n77699930?sz=4&
Работа | http://r.mail.ru/n77699932?sz=4&
Недвижимость | http://r.mail.ru/n77699933?sz=4&
Hi-tech | http://r.mail.ru/n77699934?sz=4&
Софт | http://r.mail.ru/n77699935?sz=4&
Файлы | http://r.mail.ru/n77699936?sz=4&
Таргет | http://r.mail.ru/n94588122?sz=4&
Леди | http://r.mail.ru/n77699937?sz=4&
Дети | http://r.mail.ru/n77699938?sz=4&
Здоровье | http://r.mail.ru/n77699939?sz=4&
Путешествия | http://r.mail.ru/n77699940?sz=4&
Открытки | http://r.mail.ru/n77699941?sz=4&
Гороскопы | http://r.mail.ru/n77699942?sz=4&
Погода | http://r.mail.ru/n77699943?sz=4&
Афиша | http://r.mail.ru/n77699944?sz=4&
Товары | http://r.mail.ru/n77699931?sz=4&
Видео | http://r.mail.ru/n77699945?sz=4&
Деньги | http://r.mail.ru/n77699946?sz=4&
Словари | http://r.mail.ru/n77699947?sz=4&
Карты | http://r.mail.ru/n77699948?sz=4&
Mail.ru агент | http://r.mail.ru/n94823772?sz=4&
Браузер | http://r.mail.ru/n94588123?sz=4&
Icq | http://r.mail.ru/n94823773?sz=4&
Выход | http://forum.games.mail.ruhttp://r.mail.ru/cln9662/swa.mail.ru/cgi-bin/logout?Pag e=' + encodeURIComponent('http://forum.games.mail.ru/') + '
Вход | http://forum.games.mail.ruhttp://r.mail.ru/cln9663/e.mail.ru/cgi-bin/login?page=' + encodeURIComponent('http://forum.games.mail.ru/') + '
Зарегистрируйтесь | http://win.mail.ru/cgi-bin/signup/
Забыли? | http://www.mail.ru/pages/help/92.html
| http://games.mail.ru/
играть! | http://games.mail.ru/
онлайн-игры | http://games.mail.ru/online/
pc и консоли | http://games.mail.ru/pc/
профиль | http://games.mail.ru/profile/
форум | http://games.mail.ru/forum/
http://kv.mail.ru/ | http://kv.mail.ru/
http://kv.mail.ru/overview/ | http://kv.mail.ru/overview/
/ | http://forum.games.mail.ru/
javascript:popUpWindow('http://kv.mail.ru/game/bugreport/', 850, 710); | javascript:popUpWindow('http://kv.mail.ru/game/bugreport/', 850, 710);
Pc и консоли | http://forum.games.mail.ru/topics.html?fid=5106&ord=a
Знаю как называется,но ... | http://forum.games.mail.ru/topic.html?fid=5106&tid=1839
Художник | http://games.mail.ru/profile/list/1nf4eros
Онлайн-игры | http://forum.games.mail.ru/topics.html?fid=5107&ord=a
Помогите с warface!!!! | http://forum.games.mail.ru/topic.html?fid=5107&tid=1852
Тамара могунова | http://games.mail.ru/profile/mail/mogunova.1954
Платформы | http://forum.games.mail.ru/topics.html?fid=15&ord=a
отличная игра | http://forum.games.mail.ru/topic.html?fid=15&tid=1466
Qkk890@mail.ru | http://games.mail.ru/profile/mail/qkk890
Вопросы и ответы | http://forum.games.mail.ru/topics.html?fid=5125&ord=a
Помогите пожалуйста | http://forum.games.mail.ru/topic.html?fid=5125&tid=1854
Димон | http://games.mail.ru/profile/mail/tkfree
Мини-игры | http://forum.games.mail.ru/topics.html?fid=5126&ord=a
Флеш-плеер | http://forum.games.mail.ru/topic.html?fid=5126&tid=1853
натали хайнце | http://games.mail.ru/profile/list/nataheinze
Курилка | http://forum.games.mail.ru/topics.html?fid=13&ord=a
Что сделать, когда заме... | http://forum.games.mail.ru/topic.html?fid=13&tid=1837
Lga 7777777 | http://games.mail.ru/profile/list/lga7777777
Конкурсы игры@mail.ru | http://forum.games.mail.ru/topics.html?fid=14&ord=a
Чемпионат > конкурс | http://forum.games.mail.ru/topic.html?fid=14&tid=1806
Ильдар ахмадишин | http://games.mail.ru/profile/mail/yeagofuck
Обсуждение сайта и форума игры@mail.ru | http://forum.games.mail.ru/topics.html?fid=4&ord=a
Лаги в драконике | http://forum.games.mail.ru/topic.html?fid=4&tid=1849
арсений кожевников | http://games.mail.ru/profile/mail/arseniy_kozhevnikov
Все разделы прочитаны | http://forum.games.mail.ru/board?action=set_forums_readed&from_index=1
Руководство форума | http://forum.games.mail.ru/moderators.html
Правила форума | http://forum.games.mail.ru/rules.html
Помогите пожалуйста | http://forum.games.mail.ru/topic.html?fid=5125&tid=1854
димон | http://games.mail.ru/profile/mail/tkfree
Флеш-плеер | http://forum.games.mail.ru/topic.html?fid=5126&tid=1853
натали хайнце | http://games.mail.ru/profile/list/nataheinze
Помогите с warface!!!! | http://forum.games.mail.ru/topic.html?fid=5107&tid=1852
тамара могунова | http://games.mail.ru/profile/mail/mogunova.1954
Забыл пароль как востановить? | http://forum.games.mail.ru/topic.html?fid=5125&tid=1851
александр николаев | http://games.mail.ru/profile/mail/sandrino74
Майл.ру | http://forum.games.mail.ru/topic.html?fid=5126&tid=1850
василий потс | http://games.mail.ru/profile/bk/chivasregals
http://r.mail.ru/n87861768?sz=& | http://r.mail.ru/n87861768?sz=&
http://r.mail.ru/n87861768?sz=& | http://r.mail.ru/n87861768?sz=&
Newtd козаченко | http://games.mail.ru/profile/list/deasking
Алекс рубин | http://games.mail.ru/profile/mail/asklkl
Ангел | http://games.mail.ru/profile/mail/nik168.levin
Андрей розанов | http://games.mail.ru/profile/mail/ilovemorozzz
Ирина фролова - волкова | http://games.mail.ru/profile/mail/irina.frolovavolkova
Людмила бахман | http://games.mail.ru/profile/mail/ludok-zaoz
Малыш кукузькин | http://games.mail.ru/profile/list/kukuzkin72
Нина носова | http://games.mail.ru/profile/mail/nonimi2011
Роман килин | http://games.mail.ru/profile/mail/kilinr29
http://r.mail.ru/n86316415? | http://r.mail.ru/n86316415?
http://r.mail.ru/n86316415? | http://r.mail.ru/n86316415?
| http://games.mail.ru/pc/articles/concept/dps/
dps | http://games.mail.ru/pc/articles/concept/dps/
| http://games.mail.ru/pc/articles/platform/playstation/
playstation | http://games.mail.ru/pc/articles/platform/playstation/
| http://games.mail.ru/pc/articles/char/orki/
орк | http://games.mail.ru/pc/articles/char/orki/
| http://games.mail.ru/pc/articles/char/djuk_njukem/
дюк нюкем | http://games.mail.ru/pc/articles/char/djuk_njukem/
| http://games.mail.ru/pc/articles/platform/gamecube/
gamecube | http://games.mail.ru/pc/articles/platform/gamecube/
| http://games.mail.ru/pc/articles/char/hk_47/
hk-47 | http://games.mail.ru/pc/articles/char/hk_47/
| http://games.mail.ru/pc/articles/char/hejhati_misima/
хэйхати мисима | http://games.mail.ru/pc/articles/char/hejhati_misima/
| http://games.mail.ru/pc/articles/company/naughty_dog/
naughty dog | http://games.mail.ru/pc/articles/company/naughty_dog/
Новости | http://games.mail.ru/pc/news/
| http://games.mail.ru/pc/news/2012-05-14/prodavcy_naznachili_vyhod_gta_5_na_dekabr/
Продавцы назначили выход gta 5 на декабрь | http://games.mail.ru/pc/news/2012-05-14/prodavcy_naznachili_vyhod_gta_5_na_dekabr/
В gta 5 появятся сорок восемь автомобилей | http://games.mail.ru/pc/news/2012-05-16/v_gta_5_pojavjatsja_sorok_vosem_avtomobilej/
В «легенде» настали темные времена | http://games.mail.ru/pc/news/2012-05-14/v_legende_nastali_temnye_vremena/
Состоялся международный релиз diablo 3 | http://games.mail.ru/pc/news/2012-05-15/vyshla_evropejskaja_versija_diablo_3/
Статьи | http://games.mail.ru/pc/articles/review/
| http://games.mail.ru/pc/articles/feat/onlajn_igry_eto_polezno/
Онлайн-игры — это полезно! | http://games.mail.ru/pc/articles/feat/onlajn_igry_eto_polezno/
Лучшие клоны diablo | http://games.mail.ru/pc/articles/feat/desjat_podrazhatelej_diablo/
Diablo 3 | http://games.mail.ru/pc/articles/review/diablo_3/
Max payne 3 | http://games.mail.ru/pc/articles/review/max_payne_3/
Hitman: sniper challenge | http://games.mail.ru/pc/articles/preview/hitman_sniper_challenge/
Видео | http://games.mail.ru/pc/video/
| http://games.mail.ru/pc/video/diablo_history/
В ожидании diablo 3: история серии | http://games.mail.ru/pc/video/diablo_history/
Видеопревью игры dragon nest от «игр@mail.ru» | http://games.mail.ru/pc/video/videoobzor_igry_dragon_nest_ot_igr_mail_ru/
Наш видеообзор игры prototype 2 | http://games.mail.ru/pc/video/prototype_2_obzor/
Assassin's creed 3 — world gameplay premiere trailer (русские субтитры) | http://games.mail.ru/pc/video/assassins_creed_3_world_gameplay_premiere_trailer/
Вл@д ********* | http://forum.games.mail.ru/profile/mail/vladik90844/
Xbox live | http://forum.games.mail.ru/profile/mail/windows.for/
M@jden | http://forum.games.mail.ru/profile/list/denmaj/
Jhesterfiel | http://forum.games.mail.ru/profile/mail/jhesterfil/
Сергей рузаев | http://forum.games.mail.ru/profile/mail/sergei-0099/
Ломако геннадий | http://forum.games.mail.ru/profile/mail/lomakog/
Viking | http://forum.games.mail.ru/profile/list/viking78/
Андрей нимёд | http://forum.games.mail.ru/profile/mail/barin_01/
Fifiwka 91 | http://forum.games.mail.ru/profile/mail/fifiwka91/
Елена клейменичева | http://forum.games.mail.ru/profile/mail/elena.kley/
http://www.youtube.com/user/GamesMailRu | http://www.youtube.com/user/GamesMailRu
http://vk.com/mrgames | http://vk.com/mrgames
http://www.facebook.com/MailRuGames | http://www.facebook.com/MailRuGames
https://twitter.com/mailru_games | http://forum.games.mail.ruhttps://twitter.com/mailru_games
Mail.ru | http://corp.mail.ru/
Редакция | http://games.mail.ru/team/
Пользовательское соглашение | http://games.mail.ru/pc/eula/
О компании | http://corp.mail.ru/
Реклама на mail.ru | http://sales.mail.ru/
http://top100.rambler.ru/top100/ | http://top100.rambler.r
u/top100/

Спустя 5 минут, 5 секунд (20.05.2012 - 10:48) Эли4ка написал(а):
Игорь_Vasinsky
ничего себе..это Вы в азарте да? unsure.gif

Спустя 4 минуты, 56 секунд (20.05.2012 - 10:53) Игорь_Vasinsky написал(а):
да да)))

Спустя 1 час, 16 минут, 29 секунд (20.05.2012 - 12:10) Игорь_Vasinsky написал(а):
Вообщем

<?php
header("Content-type: text/html; charset=utf-8");
error_reporting(E_ALL);
set_time_limit(0);

#$url = parse_url('http://games.mail.ru/pc/video/assassins_creed_3_world_gameplay_premiere_trailer/ ');
#echo '<pre>' . print_r($url, 1) . '</pre>';
#exit;


$indexed=array(); //массив проиндексированных ссылок
//$depth -глубина


function spider($url, $depth=0)
{
global $indexed;

$domain = parse_url($url);

if(isset($indexed[$url]))
return;//если уже проиндексирована то пропускаем

if($depth<3)
{
$content=file_get_contents($url);

preg_match_all('#<a.*href="(.*)".*>#isU', $content, $match);
preg_match_all('#<a.*href=".*".*>(.*)</a>#isU', $content, $name);

$indexed[$url]=true;

$i = -1;

foreach($match[1] as $link)
{
$i++;

if(strlen($link) > 2)
if(strlen($name[1][$i])>1)
{
#$page = file_get_contents($link);
$nameLink = strlen(trim(strip_tags($name[1][$i]))) > 1 ? iconv('cp1251', 'utf-8', ucfirst(strtolower(strip_tags($name[1][$i])))) : $link;

if(!preg_match("#^[http|https|ftp].*#", $link))
{
$domain = parse_url($url);
$link = $domain['scheme'].'://'.$domain['host'].$link;
}

$page = @file_get_contents($link);

if($page)
{
preg_match("#<title>(.*)</title>#ui", $page, $title);
}

$titlePage = isset($title[1]) ? $title[1] : 'NO TITLE';

echo $titlePage.' | '.$nameLink.' | '.$link.'<br /><br />';

}

$link=$url;

//после выполнения увеличиваем глубину на 1
spider($link, $depth+1);

}

}
}


spider('http://forum.games.mail.ru');

?>



Свернутый текст
@MAIL.RU: почта, поиск в интернете, новости, работа, развлечения. Почта @Mail.Ru — бесплатная почта №1 | Mail.ru | http://r.mail.ru/n91554644?sz=4&

Вход - Почта Mail.Ru | Почта | http://r.mail.ru/n77699923?sz=4&

NO TITLE | Мой мир | http://r.mail.ru/n91554645?sz=4&

Одноклассники | Одноклассники | http://r.mail.ru/n79060275?sz=4&

NO TITLE | Игры | http://r.mail.ru/n77699925?sz=4&

Знакомства@Mail.Ru | Знакомства | http://r.mail.ru/n77699926?sz=4&

NO TITLE | Новости | http://r.mail.ru/n77699927?sz=4&

Поиск@Mail.Ru - социальный поиск в интернете с рекомендациями от людей. | Поиск | http://r.mail.ru/n77699928?sz=4&

NO TITLE | Авто | http://r.mail.ru/n77699929?sz=4&

NO TITLE | Мото | http://r.mail.ru/n94588121?sz=4&

NO TITLE | Ответы | http://r.mail.ru/n77699930?sz=4&

Работа, вакансии и резюме, поиск работы, советы по трудоустройству, подбор персонала – Rabota.mail.ru | Работа | http://r.mail.ru/n77699932?sz=4&

NO TITLE | Недвижимость | http://r.mail.ru/n77699933?sz=4&

Hi-tech@Mail.Ru: Нетбуки | Планшеты | Cенсорные телефоны | Мобильные компьютеры | Гаджеты | Обзоры устройств | Технологии | Hi-tech | http://r.mail.ru/n77699934?sz=4&

NO TITLE | Софт | http://r.mail.ru/n77699935?sz=4&

Файлы@Mail.Ru: Загрузка файлов | Файлы | http://r.mail.ru/n77699936?sz=4&

Таргет@Mail.ru - объявления на Моем Мире и Одноклассниках | Таргет | http://r.mail.ru/n94588122?sz=4&

NO TITLE | Леди | http://r.mail.ru/n77699937?sz=4&

NO TITLE | Дети | http://r.mail.ru/n77699938?sz=4&

NO TITLE | Здоровье | http://r.mail.ru/n77699939?sz=4&

NO TITLE | Путешествия | http://r.mail.ru/n77699940?sz=4&

NO TITLE | Открытки | http://r.mail.ru/n77699941?sz=4&

NO TITLE | Гороскопы | http://r.mail.ru/n77699942?sz=4&

NO TITLE | Погода | http://r.mail.ru/n77699943?sz=4&

Афиша@Mail.Ru — развлечения начинаются здесь: киноафиша, концерты, клубы, театры, выставки, рестораны, магазины и шопинг | Афиша | http://r.mail.ru/n77699944?sz=4&

NO TITLE | Товары | http://r.mail.ru/n77699931?sz=4&

NO TITLE | Видео | http://r.mail.ru/n77699945?sz=4&

NO TITLE | Деньги | http://r.mail.ru/n77699946?sz=4&

Словари@Mail.Ru: Англо-русский словарь. Русско-английский словарь | Словари | http://r.mail.ru/n77699947?sz=4&

Карты@Mail.Ru | Карты | http://r.mail.ru/n77699948?sz=4&

Mail.Ru Агент - бесплатная голосовая и видеосвязь, поддержка ICQ, Одноклассники, ВКонтакте, Facebook, бесплатные SMS. Скачать бесплатно последнюю версию Mail.Ru Агента. | Mail.ru агент | http://r.mail.ru/n94823772?sz=4&

Интернет. Быстрый и простой браузер с сервисами @Mail.Ru | Браузер | http://r.mail.ru/n94588123?sz=4&

NO TITLE | Icq | http://r.mail.ru/n94823773?sz=4&

NO TITLE | Выход | http://r.mail.ru/cln9662/swa.mail.ru/cgi-b...gout?Page=' + encodeURIComponent('http://forum.games.mail.ru/') + '

NO TITLE | Вход | http://r.mail.ru/cln9663/e.mail.ru/cgi-bin/login?page=' + encodeURIComponent('http://forum.games.mail.ru/') + '

Регистрация - Почта Mail.Ru | Зарегистрируйтесь | http://win.mail.ru/cgi-bin/signup/

NO TITLE | Забыли? | http://www.mail.ru/pages/help/92.html

NO TITLE | http://games.mail.ru/ | http://games.mail.ru/

NO TITLE | играть! | http://games.mail.ru/

NO TITLE | онлайн-игры | http://games.mail.ru/online/

NO TITLE | pc и консоли | http://games.mail.ru/pc/

NO TITLE | профиль | http://games.mail.ru/profile/

NO TITLE | форум | http://games.mail.ru/forum/

Кристалл вечности .:: Новости ::. | http://kv.mail.ru/ | http://kv.mail.ru/

Кристалл вечности .:: Описание игры ::. | http://kv.mail.ru/overview/ | http://kv.mail.ru/overview/

Кристалл вечности .:: Описание игры ::. | javascript:popUpWindow('http://kv.mail.ru/game/bugreport/', 850, 710); | http://forum.games.mail.rujavascript: popUpWindow('http://kv.mail.ru/game/bugreport/'://http://forum.games.mail.rujavascrip...bugreport/', 850, 710);

NO TITLE | Pc и консоли | http://forum.games.mail.ru/topics.html?fid=5106&ord=a

NO TITLE | Знаю как называется,но ... | http://forum.games.mail.ru/topic.html?fid=5106&tid=1839

NO TITLE | Художник | http://games.mail.ru/profile/list/1nf4eros

NO TITLE | Онлайн-игры | http://forum.games.mail.ru/topics.html?fid=5107&ord=a

NO TITLE | Помогите с warface!!!! | http://forum.games.mail.ru/topic.html?fid=5107&tid=1852

NO TITLE | Тамара могунова | http://games.mail.ru/profile/mail/mogunova.1954

NO TITLE | Платформы | http://forum.games.mail.ru/topics.html?fid=15&ord=a

NO TITLE | отличная игра | http://forum.games.mail.ru/topic.html?fid=15&tid=1466

NO TITLE | Qkk890@mail.ru | http://games.mail.ru/profile/mail/qkk890

NO TITLE | Вопросы и ответы | http://forum.games.mail.ru/topics.html?fid=5125&ord=a

NO TITLE | Помогите пожалуйста | http://forum.games.mail.ru/topic.html?fid=5125&tid=1854

NO TITLE | Димон | http://games.mail.ru/profile/mail/tkfree

NO TITLE | Мини-игры | http://forum.games.mail.ru/topics.html?fid=5126&ord=a

NO TITLE | Флеш-плеер | http://forum.games.mail.ru/topic.html?fid=5126&tid=1853

NO TITLE | натали хайнце | http://games.mail.ru/profile/list/nataheinze

NO TITLE | Курилка | http://forum.games.mail.ru/topics.html?fid=13&ord=a

NO TITLE | Что сделать, когда заме... | http://forum.games.mail.ru/topic.html?fid=13&tid=1837

NO TITLE | Lga 7777777 | http://games.mail.ru/profile/list/lga7777777

NO TITLE | Конкурсы игры@mail.ru | http://forum.games.mail.ru/topics.html?fid=14&ord=a

NO TITLE | Чемпионат > конкурс | http://forum.games.mail.ru/topic.html?fid=14&tid=1806

NO TITLE | Ильдар ахмадишин | http://games.mail.ru/profile/mail/yeagofuck

NO TITLE | Обсуждение сайта и форума игры@mail.ru | http://forum.games.mail.ru/topics.html?fid=4&ord=a

NO TITLE | Лаги в драконике | http://forum.games.mail.ru/topic.html?fid=4&tid=1849

NO TITLE | арсений кожевников | http://games.mail.ru/profile/mail/arseniy_kozhevnikov

NO TITLE | Все разделы прочитаны | http://forum.games.mail.ru/board?action=se...ed&from_index=1

NO TITLE | Руководство форума | http://forum.games.mail.ru/moderators.html

NO TITLE | Правила форума | http://forum.games.mail.ru/rules.html

NO TITLE | Помогите!!!!! | http://forum.games.mail.ru/topic.html?fid=5123&tid=1855

NO TITLE | беляев владимир | http://games.mail.ru/profile/bk/ibr1

NO TITLE | Помогите пожалуйста | http://forum.games.mail.ru/topic.html?fid=5125&tid=1854

NO TITLE | димон | http://games.mail.ru/profile/mail/tkfree

NO TITLE | Флеш-плеер | http://forum.games.mail.ru/topic.html?fid=5126&tid=1853

NO TITLE | натали хайнце | http://games.mail.ru/profile/list/nataheinze

NO TITLE | Помогите с warface!!!! | http://forum.games.mail.ru/topic.html?fid=5107&tid=1852

NO TITLE | тамара могунова | http://games.mail.ru/profile/mail/mogunova.1954

NO TITLE | Забыл пароль как востановить? | http://forum.games.mail.ru/topic.html?fid=5125&tid=1851

NO TITLE | александр николаев | http://games.mail.ru/profile/mail/sandrino74

Легенда: Наследие Драконов — бесплатная онлайн игра | Браузерная MMORPG онлайн игра про Драконов — одна из старейших бесплатных ролевых online игр. Скачать и играть в лучшую многопользовательскую RPG игру онлайн бесплатно. | http://r.mail.ru/n93679505?sz=& | http://r.mail.ru/n93679505?sz=&

Легенда: Наследие Драконов — бесплатная онлайн игра | Браузерная MMORPG онлайн игра про Драконов — одна из старейших бесплатных ролевых online игр. Скачать и играть в лучшую многопользовательскую RPG игру онлайн бесплатно. | http://r.mail.ru/n93679505?sz=& | http://r.mail.ru/n93679505?sz=&

NO TITLE | Newtd козаченко | http://games.mail.ru/profile/list/deasking

NO TITLE | Алекс рубин | http://games.mail.ru/profile/mail/asklkl

NO TITLE | Ангел | http://games.mail.ru/profile/mail/nik168.levin

NO TITLE | Андрей розанов | http://games.mail.ru/profile/mail/ilovemorozzz

NO TITLE | Ирина фролова - волкова | http://games.mail.ru/profile/mail/irina.frolovavolkova

NO TITLE | Людмила бахман | http://games.mail.ru/profile/mail/ludok-zaoz

NO TITLE | Малыш кукузькин | http://games.mail.ru/profile/list/kukuzkin72

NO TITLE | Нина носова | http://games.mail.ru/profile/mail/nonimi2011

NO TITLE | Роман килин | http://games.mail.ru/profile/mail/kilinr29

NO TITLE | http://r.mail.ru/n92414908? | http://r.mail.ru/n92414908?

NO TITLE | http://r.mail.ru/n92414908? | http://r.mail.ru/n92414908?

NO TITLE | http://games.mail.ru/pc/articles/concept/dps/ | http://games.mail.ru/pc/articles/concept/dps/

NO TITLE | dps | http://games.mail.ru/pc/articles/concept/dps/

NO TITLE | http://games.mail.ru/pc/articles/platform/playstation/ | http://games.mail.ru/pc/articles/platform/playstation/

NO TITLE | playstation | http://games.mail.ru/pc/articles/platform/playstation/

NO TITLE | http://games.mail.ru/pc/articles/char/orki/ | http://games.mail.ru/pc/articles/char/orki/

NO TITLE | орк | http://games.mail.ru/pc/articles/char/orki/

NO TITLE | http://games.mail.ru/pc/articles/char/djuk_njukem/ | http://games.mail.ru/pc/articles/char/djuk_njukem/

NO TITLE | дюк нюкем | http://games.mail.ru/pc/articles/char/djuk_njukem/

NO TITLE | http://games.mail.ru/pc/articles/platform/gamecube/ | http://games.mail.ru/pc/articles/platform/gamecube/

NO TITLE | gamecube | http://games.mail.ru/pc/articles/platform/gamecube/

NO TITLE | http://games.mail.ru/pc/articles/char/hk_47/ | http://games.mail.ru/pc/articles/char/hk_47/

NO TITLE | hk-47 | http://games.mail.ru/pc/articles/char/hk_47/

NO TITLE | http://games.mail.ru/pc/articles/char/hejhati_misima/ | http://games.mail.ru/pc/articles/char/hejhati_misima/

NO TITLE | хэйхати мисима | http://games.mail.ru/pc/articles/char/hejhati_misima/

NO TITLE | http://games.mail.ru/pc/articles/company/naughty_dog/ | http://games.mail.ru/pc/articles/company/naughty_dog/

NO TITLE | naughty dog | http://games.mail.ru/pc/articles/company/naughty_dog/

NO TITLE | Новости | http://games.mail.ru/pc/news/

NO TITLE | http://games.mail.ru/pc/news/2012-05-14/pr...ta_5_na_dekabr/ | http://games.mail.ru/pc/news/2012-05-14/pr...ta_5_na_dekabr/

NO TITLE | Продавцы назначили выход gta 5 на декабрь | http://games.mail.ru/pc/news/2012-05-14/pr...ta_5_na_dekabr/

NO TITLE | В gta 5 появятся сорок восемь автомобилей | http://games.mail.ru/pc/news/2012-05-16/v_...em_avtomobilej/

NO TITLE | В «легенде» настали темные времена | http://games.mail.ru/pc/news/2012-05-14/v_...temnye_vremena/

NO TITLE | Состоялся международный релиз diablo 3 | http://games.mail.ru/pc/news/2012-05-15/vy...rsija_diablo_3/

NO TITLE | Статьи | http://games.mail.ru/pc/articles/review/

NO TITLE | http://games.mail.ru/pc/articles/feat/onla...ry_eto_polezno/ | http://games.mail.ru/pc/articles/feat/onla...ry_eto_polezno/

NO TITLE | Онлайн-игры — это полезно! | http://games.mail.ru/pc/articles/feat/onla...ry_eto_polezno/

NO TITLE | Лучшие клоны diablo | http://games.mail.ru/pc/articles/feat/desj...hatelej_diablo/

NO TITLE | Diablo 3 | http://games.mail.ru/pc/articles/review/diablo_3/

NO TITLE | Max payne 3 | http://games.mail.ru/pc/articles/review/max_payne_3/

NO TITLE | Hitman: sniper challenge | http://games.mail.ru/pc/articles/preview/h...iper_challenge/

NO TITLE | Видео | http://games.mail.ru/pc/video/

NO TITLE | http://games.mail.ru/pc/video/diablo_history/ | http://games.mail.ru/pc/video/diablo_history/

NO TITLE | В ожидании diablo 3: история серии | http://games.mail.ru/pc/video/diablo_history/

NO TITLE | Видеопревью игры dragon nest от «игр@mail.ru» | http://games.mail.ru/pc/video/videoobzor_i...ot_igr_mail_ru/

NO TITLE | Наш видеообзор игры prototype 2 | http://games.mail.ru/pc/video/prototype_2_obzor/

NO TITLE | Assassin's creed 3 — world gameplay premiere trailer (русские субтитры) | http://games.mail.ru/pc/video/assassins_cr...emiere_trailer/

NO TITLE | Вл@д ********* | http://forum.games.mail.ru/profile/mail/vladik90844/

NO TITLE | Xbox live | http://forum.games.mail.ru/profile/mail/windows.for/

NO TITLE | M@jden | http://forum.games.mail.ru/profile/list/denmaj/

NO TITLE | Jhesterfiel | http://forum.games.mail.ru/profile/mail/jhesterfil/

NO TITLE | Сергей рузаев | http://forum.games.mail.ru/profile/mail/sergei-0099/

NO TITLE | Ломако геннадий | http://forum.games.mail.ru/profile/mail/lomakog/

NO TITLE | Viking | http://forum.games.mail.ru/profile/list/viking78/

NO TITLE | Андрей нимёд | http://forum.games.mail.ru/profile/mail/barin_01/

NO TITLE | Fifiwka 91 | http://forum.games.mail.ru/profile/mail/fifiwka91/

NO TITLE | Елена клейменичева | http://forum.games.mail.ru/profile/mail/elena.kley/

Mail.Ru Group: Главная | Mail.ru | http://corp.mail.ru/

NO TITLE | Редакция | http://games.mail.ru/team/

NO TITLE | Пользовательское соглашение | http://games.mail.ru/pc/eula/

Mail.Ru Group: Главная | О компании | http://corp.mail.ru/

Mail.Ru Group: Рекламодателям | Реклама на mail.ru | http://sales.mail.ru/

Рамблер ТОП100 - Каталог Интернета | http://top100.rambler.ru/top100/ | http://top100.rambler.ru/top100/


чтобы не получать NO TITLE - юзать CURL - бегать за редиректом - там читать.

Спустя 3 минуты, 57 секунд (20.05.2012 - 12:14) redreem написал(а):
вообще задача-то какая? smile.gif
либо паук парсящий внутри сайта, либо "вообще куда забредет", либо...
реализации будут достаточно разные smile.gif

Спустя 1 минута, 46 секунд (20.05.2012 - 12:15) Игорь_Vasinsky написал(а):
))) паук есть паук. но я в его паучиные нравы не лез (вложенность и т.д.) указанную страницу распарсивает и ладно))

Спустя 21 час, 55 минут, 59 секунд (21.05.2012 - 10:11) Эли4ка написал(а):
ничего себе..спасибо за примеры.

Спустя 22 дня, 3 часа, 6 минут, 50 секунд (13.06.2012 - 13:18) Эли4ка написал(а):
скажите,пожалуйста,дорогие форумчане,ну где здесь может быть ошибка(рекурсия не работает):
$indexed = array();
function spider($url) {
global $indexed, $domain;
if (isset($indexed[$url])) return;
$file = file_get_contents($url);
//в ютубе ссылки на видео в относительном виде..далее мы их приведем к абсолютному,обрезав ненужное..
preg_match_all('#<a.*href\s*=\s*["\']\/watch\?v=(.*)["\'].*>#isU', $file, $regs);
$indexed[$url] = true;
$regs[1] = array_unique($regs[1]);
foreach($regs[1] as $link){
$pieces = explode("&", $link);
$final = 'http://www.youtube.com/watch?v=' . $pieces[0];
echo '<li>'.$final.'</li>';
spider($final);
}
}

$url = 'http://youtube.com/';
$domain = parse_url($url);
$domain = $domain['host'];
spider($url);

Первый виток идет нормально.а вот дальше не хочет.. :(

Спустя 1 минута, 23 секунды (13.06.2012 - 13:19) redreem написал(а):
дальше тебя банят за DDOS smile.gif

Спустя 14 минут, 58 секунд (13.06.2012 - 13:34) Эли4ка написал(а):
redreem
можно по делу..с банами..DDos'ами я как-нибудь разберусь..

Спустя 1 час, 1 минута, 50 секунд (13.06.2012 - 14:36) redreem написал(а):
ну как еще по делу-то? smile.gif мы до этого с Васинским 2 работающие простыни раскатали, а ты опять спрашиваешь. smile.gif ксатит бан - это довольно вероятно smile.gif

Спустя 3 минуты, 21 секунда (13.06.2012 - 14:40) redreem написал(а):
что мешает смотреть промежуточный результат через print_r для каждой строчки и тем самым выявить где получаются не те данные, которые ожидались?

Спустя 1 час, 5 минут, 7 секунд (13.06.2012 - 15:45) Эли4ка написал(а):
redreem
да пробовала уже..что-то не срабатывает..

Спустя 1 час, 24 минуты, 29 секунд (13.06.2012 - 17:09) redreem написал(а):
что значит не срабатывает?
буквально после каждой строчки ставишь вывод и смотришь. хоть "что-то" все равно должно выводиться.

Спустя 12 часов, 59 минут, 15 секунд (14.06.2012 - 06:08) Эли4ка написал(а):
redreem
выводит только результаты после первого выполнения..а далее ничего не происходит..

Спустя 2 часа, 34 минуты, 25 секунд (14.06.2012 - 08:43) redreem написал(а):
все у тебя работало, только контроля рекурсии небыло. и скрипт пыхтел до мемори оверфлоу.

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

<?php

$maxDeep = 2;
$indexed = array();
$content = '';

function spider($url, $deep) {

global $indexed, $domain, $content, $maxDeep;

$deep++;
if (isset($indexed[$url])) return;

$file = file_get_contents($url);

//в ютубе ссылки на видео в относительном виде..далее мы их приведем к абсолютному,обрезав ненужное..

preg_match_all('#<a.*href\s*=\s*["\']\/watch\?v=(.*)["\'].*>#isU', $file, $regs);

$indexed[$url] = true;

$regs[1] = array_unique($regs[1]);

if (count($regs[1] != 0)) {

$content .= '<ul>';

foreach($regs[1] as $link) {

$pieces = explode("&", $link);

$final = 'http://www.youtube.com/watch?v=' . $pieces[0];

$content .= ' <li>' . $deep . ': ' . $final . '</li>';

if ($deep < $maxDeep) spider($final, $deep);

}

$content .= '</ul>';

} else $content .= $deep . ': NO LINKS';

}

$url = 'http://youtube.com/';

$domain = parse_url($url, 0);
$domain = $domain['host'];
spider($url, 0);
echo $content;
?>

Спустя 5 часов, 22 минуты, 4 секунды (14.06.2012 - 14:05) Эли4ка написал(а):
Цитата
контроля рекурсии небыло

да это я убрала..дело в том,что при ней пустой контент отображается..думала поможет..спасибо..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.