2012-04-13 25 views
0

私の課題の1つでは、純粋にJavaScriptでWebクローラーを作成する必要があります。つまり、入力はURLになり、出力はそのページから始まるすべてのリンクのツリーになります。 私はYQLを使用するプラグインhttps://github.com/padolsey/jQuery-Plugins/tree/master/cross-domain-ajax/を使用しました。これはサイト上のすべてのリンクを取得するために働いていました。 (Googleのホームページのように、http://deepakpathak.in/langoor/linkfinder.html)。しかし、私はそれから木構造を作ることに問題があります。 与えられたウェブサイトとJavascriptのリンクツリーを作成する他の簡単な方法はありますか?純粋にJavascriptでウェブクローラーとリンクツリーを作成すること

+0

サイトマップなどを作成する目的はありますか? – Spoike

+0

@ Spoikeちょうどウェブスパイダーではなく、サイドバーにツリーナビゲーションがあるエディター用のサイトナビゲーターです。 – Deepak

答えて

1

出力が何らかの種類のウェブサイト上のツリーリストコンポーネントである場合や、データベースに配置したい場合は、どのような種類のツリーを使用しているかは言及していませんか?

普通の古いJavaScriptオブジェクトや配列を使用してtreeを作成することができます(ツリーデータ構造の注釈を参照して、それらがどのように機能しているかを調べることができます)。あなたは基本的なツリーが(createNode機能付き)このように見ることができ始めるには:

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 

あなたはjavascriptが木を処理するための任意の機能を持っていないようトラバーサルアルゴリズムを自分で記述する必要があります。または、DOM自体を使用してツリーを作成します(ツリーデータ構造のように)。

関連する問題