|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.03.2010, 17:15 | #1 |
Регистрация: 13.09.2009
Сообщений: 9
|
Рекурсивный сбор внутренних ссылок с сайта
необходимо собрать все ссылки что есть на сайте (которые ведут к веб странциам - исключаем картинки и файлы). решил использовать рекурсию и регулярные выражения. с одной страницы ещё как-то поулчаеться собрать, а когда включаю рекурсивный сбор прога виснет. вот мой исходник. понимаю что всё достаточно криво риму любые предложения по улучшению и оптимизации кода
Код:
|
06.03.2010, 18:14 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А где у вас то, что вы называете рекурсией ?
Я вижу только закомментированную строку, которая просто организует бесконечный цикл... Вы проанализируйте свой код - begin..end еще никто не отменял. |
06.03.2010, 18:25 | #3 |
Регистрация: 13.09.2009
Сообщений: 9
|
//linker(remain[i]);
мм по сути это и есть рекурсия сорь просто кидал исходник где тестил сам сбор ссылок. |
06.03.2010, 19:28 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Я так и не понял - дошло или нет ?
Код:
|
06.03.2010, 22:20 | #5 |
Регистрация: 13.09.2009
Сообщений: 9
|
Да не в этом дело! Бегин и энд убраны потому что тестил с добавлением найденных ссылок либо в Мемо либо их обработка этойже функцией - рекурсия. Оба варианта не предусмотрены! Поэтмуо и нет операторных скобок.
|
07.03.2010, 12:33 | #6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
обычно страницы сайта имеют такую функцию как НА ГЛАВНУЮ (вернуться) (при чистой рекурсии мы и получим бесконечный цикл
Главная страница -> какая-то страница ->вернуться снова главная вы как-то учитываете это (да и вообще перекрестные ссылки на страницвх) в своей программе.
программа — запись алгоритма на языке понятном транслятору
|
07.03.2010, 13:48 | #7 |
Регистрация: 13.09.2009
Сообщений: 9
|
да учитывал я это
if (pos(link,checked.Text)=0) and (pos(link,remain.Text)=0) then Если уже проверена ссылка но не лезем |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
рекурсивный алгоритм. | Nelson1992 | Помощь студентам | 9 | 21.03.2010 12:09 |
Рекурсивный алгоритм | SVM | Общие вопросы C/C++ | 7 | 13.11.2009 09:24 |
Разработать рекурсивный алгоритм | lucky | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 08.05.2009 15:04 |
парсер (сбор ссылок с сайта) | AlexMenco | Фриланс | 9 | 24.02.2009 19:39 |
Сбор инфы с сайта. | Mss_Smith | Помощь студентам | 6 | 17.06.2007 16:26 |