Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Пройтись по всем страницам сайта


Автор: farrow 23.4.2008, 19:18
Наверное вопрос может показаться глупым, но не могу взять в толк как пройтись по всем страницам сайта . Страницы сайта заранее не известны, потому, как я полагаю, без регулярок вообще никак. Все, что можно записать в дано этой задачки - ссылка на сайт.

Допустим, сделать вот такую вот регулярку:

Код

http://сайт.com/(.*).html


А какой функцией воспользоваться? В идеале - сохранить все возможные значения в массив. Или это в принципе невозможно? Я здравый человек, понимаю что как-то нужно ограничить (.*), допустим 30 знаков.

Или это вообще все туфта и делать надо по-другому?

Автор: Glip 23.4.2008, 19:38
Код

wget --mirror http://сайт.com/

но это не php.

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

Автор: farrow 24.4.2008, 19:12
А при помощи php никак?..

Автор: Fortop 24.4.2008, 20:36
Цитата(farrow @  23.4.2008,  19:18 Найти цитируемый пост)
А какой функцией воспользоваться? В идеале - сохранить все возможные значения в массив. Или это в принципе невозможно? Я здравый человек, понимаю что как-то нужно ограничить (.*), допустим 30 знаков.

Все возможно. Другой вопрос, зачем это надо?

http://ua2.php.net/manual/ru/function.preg-match-all.php
http://ua2.php.net/manual/ru/book.curl.php


Автор: Glip 24.4.2008, 22:47
farrow
попробуйте найти файл sitemap.xml или что-нибудь подобное. их обычно делают для роботов. опять же robots.txt можно посмотреть, но там чаще всего ограничения.
или вариант 2 из моего предидущего поста. других мыслей пока нет.

Автор: americanets 24.5.2008, 10:24
посмотри на реализацию в w3search, там какраз preg_match_all + curl

Добавлено через 42 секунды
находишь ссылки на странице и переходишь по ним и так далее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)