2012-04-13 2 views
0

machen In einer meiner Zuweisungen muss ich einen Web-Crawler, rein in JavaScript. Das heißt, die Eingabe wird eine URL sein und die Ausgabe wird eine Baumstruktur aller Links sein, die von dieser Seite ausgehen. Ich verwendete das Plugin https://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/, das YQL verwendet und es funktionierte für das Abrufen aller Links auf der Website. (Wie ich für die Google-Homepage, http://deepakpathak.in/langoor/linkfinder.html). Allerdings habe ich Probleme, eine Baumstruktur daraus zu machen. Gibt es eine andere einfachere Möglichkeit, eine Baumstruktur von Links einer bestimmten Website zu erstellen, und das in Javascript?Making, um einen Web-Crawler und eine Link-Struktur rein in Javascript

+0

Ist der Zweck, eine Sitemap oder etwas zu machen? – Spoike

+0

@Spoike Nicht gerade ein Webspider, sondern ein Site-Navigator für einen Editor, der eine Baumnavigation auf der Seitenleiste hat. – Deepak

Antwort

1

Sie erwähnen nicht, welche Art von Baum Sie tun möchten, sollte die Ausgabe eine Tree List-Komponente auf einer Website irgendeiner Art sein oder möchten Sie es in eine Datenbank einfügen?

Sie können jedoch einfache JavaScript-Objekte und Arrays verwenden, um Ihre tree zu erstellen (lesen Sie alle Hinweise zur Struktur der Baumstruktur, um zu sehen, wie sie funktionieren, gibt es viele Möglichkeiten, sie darzustellen). Um Ihnen den Einstieg kann ein Grund Baum wie folgt aussehen (mit createNode Funktion):

var createNode = function(content) { 
    return { 
     'nodes': [], // children are put here 
     'content': content // puts the content here 
    }; 
}; 

var treeroot = createNode(); 
    // create the root node of the tree 
    // content is undefined 

treeroot.nodes.push(createNode(myTreeNode)); 
    // accesses the nodes array and pushes a new node into the root node 
    // content in that node will be whatever "myTreeNode" is 

Sie müssen Traversal-Algorithmen selbst schreiben, wie Javascript, keine Funktionen muss Bäume behandeln. Alternativ erstellen Sie Ihren Baum mit dem DOM selbst (da es sich um eine Baumdatenstruktur handelt).