2012-04-22 3 views
3

ドメイン内のすべてのWebページとサブドメインを検索する方法を探しています。たとえば、uoregon.eduドメインでは、このドメインとすべてのサブドメイン(例:cs.uoregon.edu)のすべてのWebページを検索したいと考えています。ドメインとそのサブドメイン内のすべてのWebページを見つける

私はナッチを見てきました。私はそれが仕事をすることができると思います。しかし、それはナッチがウェブページ全体をダウンロードし、後の検索のためにそれらを索引付けするようだ。しかし、同じドメインに属するURLのWebページのみをスキャンするクローラが必要です。さらに、nutchはlinkdbをシリアライズされた形式で保存するようです。どのように私はそれを読むことができますか?私はsolrを試して、nutchの収集データを読むことができます。しかし、私は何も検索を実行していないので、私はsolrが必要だと思いません。私が必要とするのは、特定のドメインに属するURLだけです。

おかげ

+0

あなたはhttp://www.crawlmysite.inを使用することができます – Tushar

答えて

4

あなたはルビーに精通している場合、アネモネを使用することを検討してください。素晴らしいクロールフレームワーク。ここには、そのままの状態で動作するサンプルコードがあります。

require 'anemone' 

urls = [] 

Anemone.crawl(site_url) 
    anemone.on_every_page do |page| 
    urls << page.url 
    end 
end 

https://github.com/chriskite/anemone

免責事項:あなたがサブドメインをクロールする問題からパッチを使用する必要があり、最大ページ数を追加することを検討することをお勧めします。

+0

私はアネモネを試しました、そして、少なくともドメインのために、すべてのコンテンツを見つける素晴らしい仕事をしています。私はまだサブドメインを試してみませんか?ありがとう。 – gmemon

+0

ここにはサブドメインへの直接リンクがあります:https://github.com/chriskite/anemone/issues/18 また、私の投稿を回答としてマークしておけば、将来の人々がこれを彼らの問題に対する解決策。 – sunnyrjuneja

0

特定のドメインのすべてのサブドメインを見つける最も簡単な方法は、問題のサイトのDNS管理者にDNS Zone Transferまたはそのゾーンファイルを提供するように依頼することです。ゾーンにwildcard DNS entriesがある場合は、ワイルドカードDNSエントリの要求に応答するサーバーの構成(および場合によってはコード)も取得する必要があります。ドメイン名空間の一部が他のDNSサーバーによって処理される可能性があることを忘れないでください。それらのすべてからデータを取得する必要があります。

これは、サーバー構成ファイルまたはサーバーを実行しているアプリケーションコードに焼き込まれた別の名前への要求に対して、HTTPサーバーが異なる処理を行う可能性があり、またはサーバーを実行しているアプリケーションコードがデータベースルックアップを実行して与えられた名前と関係がある。 FTPは名前ベースの仮想ホスティングを提供しません。関心のあるサービスは名前ベースの仮想ホスティングプロトコルを提供しても提供しなくてもかまいません。

関連する問題