2

Nokogiri を使用して、特定のページが依存しているすべてのドメイン/IP アドレスを取得しようとしています。Javascript が依存関係を動的にロードするため、完全にはできませんが、取得に最善の努力を払って満足しています。

  • 画像 URL <img src="..."
  • Javascript URL <script src="..."
  • CSS および任意の CSS url(...) 要素
  • フレームと IFrame

CSSのインポートもフォローしたいと思います。

任意の提案/ヘルプをいただければ幸いです。プロジェクトはすでに Anemone を使用しています。

これが私が現時点で持っているものです。

Anemone.crawl(site, :depth_limit => 1) do |anemone|
  anemone.on_every_page do |page|
    page.doc.xpath('//img').each do |link|
      process_dependency(page, link[:src])
    end
    page.doc.xpath('//script').each do |link|
      process_dependency(page, link[:src])
    end
    page.doc.xpath('//link').each do |link|
      process_dependency(page, link[:href])
    end
    puts page.url
  end
end

コードは素晴らしいでしょうが、私は本当にポインターの後にいます.css_parserのようなcssパーサーを使用してCSSを解析し、画像へのインポートとURLを見つける必要があることを発見しました.

4

1 に答える 1

1

ページのコンテンツを取得すると、ページから URI の配列を抽出できます。

require 'uri'    
URI.extract(page)

その後は、正規表現を使用して各リンクを解析し、ドメイン名を抽出するだけです。

于 2011-07-29T14:05:16.023 に答える