No he mirado tu codigo (ya que toy en un sistema sin interprete php), mas rato lo vere en mi PC.
Aqui tengo un Articulo llamado Bot spiderWeb , el cual es un bot que navega en los sitios web, captura las palabras y los URL (dichas URL luego las guarda en una base de datos), para luego seguir navegando en las URL guardadas en la Base de Datos.
Bot SpiderWeb PHP Es el que utilizo en mi proyecto
Md5search (buscar palabras por los sitios y capturarle su hash md5).
Lo otro que te puede servir para parsear codigo HTML, es utilizar expresiones regulares, aqui tengo un tips q te puede ayudar en esto
Tips Expresiones Regulares
Saludos