正如标题所说,我有一些DOM操作任务.例如,我想: - 找到所有具有蓝色的H1元素. - 找到所有大小为12px的文本. - 等..
我怎么能用Rails做到这一点?
谢谢.. :)
更新
我一直在研究如何根据本文提取网页内容 - > http://www.springerlink.com/index/A65708XMUR9KN9EA.pdf
该步骤的摘要是:
-对不起,我的英语不好-
如果你要做的是在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
Run Code Online (Sandbox Code Playgroud)
之后,如果您尝试做的事情确实在解析当前页面dom,那么您应该看看JavaScript和JQuery.Rails不能那样做.
为了可靠地找出网页上任意元素的颜色,您需要对浏览器进行逆向工程(以准确地考虑样式表、标记黑客、损坏的标签、图像等)。
一种更简单的方法是将现有的浏览器(例如gecko)嵌入到您制作的自定义应用程序中。
当您的蜘蛛浏览页面时,它会将它们传递给 gecko 的嵌入式实例,您可以在其中使用getCompulatedStyle来提取单个元素恰好是什么颜色。
您最初提到想要在这个项目中使用 Ruby on Rails,Rails 是一个用于编写演示应用程序的框架,并且确实不适合这样的项目。
作为起点,我建议您查看 RubyGnome,特别是 RubyGnome 的Gtk::MozEmbed功能。
| 归档时间: |
|
| 查看次数: |
8689 次 |
| 最近记录: |