То что вам необходимо называеться пауком.
Объясню только концепцию работы скрипта:
1) Скрипт получает корневой урл, относительно него в дальнейшем и будет проводиться весь анализ действий скрипта.
2) Скрипт заходит на корневой урл и парсит все внутрение урлы имеющиеся на странице.
3) После прохода корнегового урла, у нас сформируеться список следующих страниц для парсинг. Дальше все просто, идем по полученным ссылкам и собираем внутрение следующие урлы, при этом необходимо будет вести базу ссылок на которые скрипт уже заходил и естественно чекать новые ссылки на наличие в базе.
Внимание это важно!!! Во время работы необходимо будет вести базу ссылок на которые скрипт уже заходил. Иначе скрипт может парсить сайт вечно. В между прочим в итоге эта база ссылок и станит списком спарсеных урлов. Советую для базы использовать MySQL.