2012-03-07 9 views
0

ウェブサイトのURLを入力し、特定のURLがリンクされているウェブサイトのすべてのURLを受け取る最も簡単な言語または方法は何ですか?たとえば、私は自分のウェブサイトに、オレンジと呼ばれるページへのリンクが何回あるかを見たいと思ったら、それを使用します。ウェブサイトから特定のURLリンクを検索していますか?

「http://www.mysite.com」というプログラムに入力し、「http://www.mysite.com/oranges」を検索するURLを入力してプログラムを実行します。引き返して、私は、 "http://www.mysite.com/oranges"へのリンクを含むすべてのURLを含むテキストファイルまたはその他のファイルを取得します。

入力は次のようになります。

http://www.mysite.com http://www.mysite.com/oranges

、出力は次のようになります。

http://www.mysite.com/index.html 
http://www.mysite.com/broccoli.html 
http://www.mysite.com/asparagus.html 
http://www.mysite.com/fruits.html 
http://www.mysite.com/blog/post/my_favorite_fruits.html 

は、これまでのところ、私は私の個人的な好み試してみた:バッチを、そして次の失敗を思い付きますプログラム:

FOR /F %%A in (input.txt) DO (
    curl -o temp.html %%A 
    FOR /F "tokens=1,2 delims=:" %%B in ('FINDSTR /I /R "http://.*" temp.html') DO (
    ECHO %%B >> input.txt 
     FOR /F %%C in (temp.html) DO (
      FINDSTR /X "http://.*" %%C >> output.txt 
)   
) 
) 
exit 

これは実際には機能しません。

アイデア?これは宿題のためのものではなく、これは仕事のプロジェクトのためのものであり、それは私をナットにしてくれます!

ご協力いただきありがとうございます。私が何かについてもっと具体的にする必要があるかどうか私に教えてください!

答えて

1

私が知っている限り、おそらくあなたができることは、そのURLのindex.htmlを取得し、HTMLとリンクと可能なサイトマップを検索するアルゴリズムです(基本的に独自のサイトマップを作成します)。ほとんどの開発者が何らかの理由で非表示になっていることがあるため、すべてを見つけることができるという保証はありません(リンクされていないなど)。あなたはおそらく私が上で話したことをする再帰的な方法を作成することができます。

+1

あなたが話していることの実装に関しては混乱しています。どのようにアルゴリズム?バッチで? C++? Python?答えをありがとう! –

+1

どうやってプログラムするのですか?その場合、Jonの答えは本質的に正しいです。 (そして、C++、Python、Delphi、Java、C#などを含むほとんどすべての言語でコーディングすることができます)既存のプログラムを探してあなたのウェブサイトをスキャンし、URLのリンク先を教えてください"XENU"、 "A1 Website Analyzer"などのツール。 – Tom

+0

Tomが指摘しているように、おそらく最良の結果を得ることができるツールがたくさんあります。実現可能性のある方法の1つは、検索エンジンにあなたのためにそれをさせることです。 google/bing/yahooに行って、サイト:タグを使って各サイトを検索することができます。 GoogleのEXタイプ(site:http://www.cnn.com)NO PARENSを入力し、適切なhttp://とwwwを入力します。これにより、Googleがサイトで見つけたすべてのページが表示されます。あなたは、あなたが与えたサイトURLのすべての検索結果のURLを単に傷つけるものを書くことができます。 –

1

お試しくださいhttp://scrapy.org/。これは、開始URLからHTMLコンテンツをクロールして、それらをスクラップするのに役立つPythonフレームワークです。

また、スクラップしたリンクを再帰的にクロールし、クロールされたURLを複製しないように最適なアルゴリズムを持っています。 この文書は、簡単に従うことができ、簡単なプログラムを作成します。

関連する問題