Attualmente sto sviluppando un importatore di qualsiasi sito Web HTML (statico) esistente e esistente nella prossima versione del nostro CMS.
Mentre il download dei file è stato risolto con successo, mi sto staccando i capelli quando si tratta di rilevare una struttura del sito (pagine e sottopagine) esclusivamente dai file HTML, senza che l'utente specifichi ulteriori suggerimenti.
Fondamentalmente voglio ottenere un albero come:
+ Root page 1
+ Child page 1
+ Child page 2
+ Child child page1
+ Child page 3
+ Root page 2
+ Child page 4
+ Root page 3
+ ...
vale a dire. Voglio essere in grado di rilevare la struttura del menu dai collegamenti all'interno delle pagine. Questo non deve essere accurato al 100%, ma almeno voglio ottenere più di una semplice lista.
Ho pensato di guardare più pagine per vedere aree simili e identificarle come aree di menu e analizzare i collegamenti lì, ma dopotutto non sono quella soddisfatta di questa idea.
La mia domanda:
Riesci a immaginare qualche algoritmo quando si tratta di rilevare una tale struttura?
Aggiornamento 1:
Quello che sto cercando è non un web spider, ma un algoritmo crea un albero logico della relazione delle pagine per poter creare pagine e sottopagine all'interno del mio CMS quando le importi .
Aggiornamento 2:
A partire da Robert's suggerimento risolverò questo iniziando dalla pagina radice, quindi analizzerò semplicemente i collegamenti man mano che procedi e tratterai ogni collegamento all'interno di una pagina semplicemente come una pagina secondaria. Probabilmente ricoverò non in un approfondimento prima modo, ma piuttosto in un breadth-first modo per ottenere una struttura di navigazione più equilibrata.