正如标题所说,我有一些DOM操作任务。例如,我想: - 找到所有具有蓝色的H1元素。 - 找到所有大小为12px的文本。 - 等..
如何使用Rails执行此操作?
谢谢.. :))
更新
我一直在做一些关于根据本文提取网页内容的研究 - > http://www.springerlink.com/index/A65708XMUR9KN9EA.pdf
该步骤的摘要是:
- 我的英语不好 -
答案 0 :(得分:9)
如果你要做的是在rails应用程序中操作HTML文档,你应该看一下Nokogiri。
它使用XPath搜索文档。通过以下内容,您可以在文档中找到任何带有“blue”css类的h1。
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.stackoverflow.com'))
doc.xpath('//h1/a[@class="blue"]').each do |link|
puts link.content
end
之后,如果您尝试做的事情确实在解析当前页面dom,那么您应该看看JavaScript和JQuery。 Rails不能那样做。
答案 1 :(得分:2)
答案 2 :(得分:1)
为了可靠地整理网页上任意元素的颜色,您需要对浏览器进行反向工程(以准确地考虑样式表,标记黑客,损坏的标签,图像等)。
更简单的方法是将现有的浏览器(例如gecko)嵌入到自制的自定义应用程序中。
当您的蜘蛛浏览页面时,它会将它们传递给您嵌入的壁虎实例,您可以使用getComputedStyle来提取单个元素的颜色。
你最初提到过想在这个项目中使用Ruby on Rails,Rails是一个用于编写表示应用程序的框架,并且非常适合这样的项目。
作为一个起点,我建议您查看RubyGnome,特别是RubyGnome的Gtk::MozEmbed功能。