0

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

4

1 に答える 1

1

実行したいツリーの種類については言及していません。出力は、ある種のWebサイトのツリーリストコンポーネントにする必要がありますか、それともデータベースに入れますか?

ただし、プレーンな古いjavascriptオブジェクトと配列を使用してツリーを作成できますツリーデータ構造に関するメモを調べて、それらがどのように機能するかを確認してください。それらを表す方法はたくさんあります)。始めるために、基本的なツリーは次のようになります(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自体を使用してツリーを作成します(これはツリーデータ構造であるため)。

于 2012-04-13T10:33:33.177 に答える