私は単純化された Web サイト ダウンローダー (プログラミング割り当て) に取り組んでおり、指定された URL のリンクを再帰的に調べて、個々のページをローカル ディレクトリにダウンロードする必要があります。
単一のページからすべてのハイパーリンク (href 属性) を取得する関数が既にありますSet<String> retrieveLinksOnPage(URL url)
。この関数は、ハイパーリンクのベクトルを返します。レベル 4 までのページをダウンロードするように言われました (レベル 0 はホームページです) したがって、基本的にはサイト内のすべてのリンクを取得したいのですが、再帰アルゴリズムを考え出すのに苦労しています。最後に、次のように関数を呼び出すつもりです。
retrieveAllLinksFromSite("http://www.example.com/ldsjf.html",0)
Set<String> Links=new Set<String>();
Set<String> retrieveAllLinksFromSite (URL url, int Level,Set<String> Links)
{
if(Level==4)
return;
else{
//retrieveLinksOnPage(url,0);
//I'm pretty Lost Actually!
}
}
ありがとう!