私の課題の 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 で作成する簡単な方法はありますか?
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 に答える