Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Построение алгоритма проверки ссылок 
:(
    Опции темы
scu
  Дата 5.2.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2005
Где: Москва

Репутация: нет
Всего: нет



Собственно задача проверить нет ли колец (когда один сайт ссылается на другой, другой на другой..... другой на первый).

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

Буду благодарна :-) от объема и представления графа, кот. может получится - пухнет голова)))

Задачу ограничем тем, что зададим изначально глубину поиска.
+ зададим изначально фильтр на ссылки, которые учитывать не нужно и переходить, соответственно, по ним тоже.

как результат- список всех колец в виде цепочки. то есть примерно так:

сайт 1 -> сайт 2 -> сайт 3 сайт 4 -> сайт 1

Это сообщение отредактировал(а) scu - 5.2.2006, 18:51
PM WWW ICQ   Вверх
Mal Hack
Дата 5.2.2006, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Ссылки надо узнать парсингом удаленной страницы?
PM ICQ   Вверх
scu
Дата 5.2.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2005
Где: Москва

Репутация: нет
Всего: нет



да, то есть коннектимся и читаем страницу, которую нам отдают (делаем из себя либо просто тупо ие например)
PM WWW ICQ   Вверх
Mal Hack
Дата 5.2.2006, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Выход один - проходить по всем сайтам через curl и искать ссылки.
PM ICQ   Вверх
scu
Дата 5.2.2006, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 4.7.2005
Где: Москва

Репутация: нет
Всего: нет



твой ответ мне не пояснил, как построить алгоритм smile
то есть это понятно, возможно, будет тем, кто представляет, я не представляю пока что...
к тому же задача, не найти ссылки на странице, а найти кольца

Возможно кто-то еще сможет ответить на мой вопрос :-)

Это сообщение отредактировал(а) scu - 5.2.2006, 19:56
PM WWW ICQ   Вверх
CyClon
Дата 13.2.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Есть в тесксте ссылки - открываем ее - смотри содержание, ищем ссылку нужную - если есть то переходим на ссылку и ищем там уже что нада - и т.д.
Сделать... Curl наеврное.


--------------------
user posted image
PM   Вверх
-=Ustas=-
Дата 14.2.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: нет
Всего: 69



Цитата(CyClon @ 13.2.2006, 18:39 Найти цитируемый пост)
Сделать... Curl наеврное.

Не обязательно. Если в PHP настройки для файловых функций открыты, то можно контент и файловыми функциями подтягивать.
scu, в принципе, это не важно как ты будешь контент выдергивать, сначала тебе надо определить глубину вложенности этого кольца, затем определяешь первое звено и вперёд по ссылкам, а цикле ессно делаешь сравнение на первое звено.
PS, если я тебя конечно правильно понял.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Grasshopper
Дата 23.3.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



Цитата

затем определяешь первое звено и вперёд по ссылкам

А если нам не известно начальное звено? Тогда все надо не через цикл, а через рекурсию делать, да еще и пройденные ссылки через список просматривать...
PM MAIL   Вверх
youri
Дата 31.3.2006, 03:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: нет
Всего: 16



по-моему это довольно сложная задача и стоит подумать имеет ли смысл ее решать (зачем это надо?)

программа представляет собой функцию/метод (нужное подчеркнуть), которая получает на вход ссылку, просматривает страничку, получает список ссылок, вызывает себя для каждой ссылки из списка

надо хранить текущее состояние - т.е. дерево, которое хранит пройденные пути. конечно, хранить каждый путь отдельно это проще, но при наличии дерева можно не заходить на уже посещенные страницы

упрощение: задавать ограничение на длину цепочки отдельно для сайта, и для кольца

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

возможно, по мере написания, можно будет еще что-то упростить - посмотреть, по каким ссылкам ходил скрипт, и разумно ли ему было по всем ним ходить; если не разумно, то как от этого избавиться

повторюсь: зачем это нужно? может можно решить проблему другим макаром
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.2818 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.