2

我正在尝试使用 Nokogiri 获取特定页面所依赖的所有域/IP 地址。由于 Javascript 动态加载依赖项,它并不完美,但我很高兴尽最大努力获得:

  • 图片网址 <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 回答