我想使用 ruby/rails 从网站复制一些特定内容。
我需要的内容位于一个 marquee html 标签内,由 div 分隔。
我如何使用 ruby 访问此内容?
更准确地说 - 我想使用某种 ruby gui (最好是鞋子)。
我该怎么做?
这并不是一个真正的 Rails 问题。您可以使用 Ruby 执行此操作,然后可能使用 Rails、Sinatra 或 Padrino 进行显示 - 选择您的毒药。
您可以使用多种不同的 HTTP 客户端:
Open-URI 随 Ruby 一起提供,是最简单的。 Net::HTTP 随 Ruby 一起提供,是标准工具箱,但它是较低级别的,因此您必须做更多工作。 HTTPClient 和 Typhoeus+Hydra 都具有线程能力,并且具有高层和低层接口。
我建议使用 Nokogiri 来解析返回的 HTML。它的功能非常齐全且强大。
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.example.com'))
puts doc.to_html
如果您需要在到达需要解析的页面之前浏览登录屏幕或填写表单,那么我建议您查看 Mechanize。它内部依赖于 Nokogiri,因此您可以向它请求 Nokogiri 文档,并在 Mechanize 检索到所需 URL 后进行解析。
如果您需要处理动态 HTML,请查看各种 WATIR 工具。它们驱动各种网络浏览器,然后让您访问浏览器所看到的内容。
获得所需的内容或数据后,您可以将其“重新调整用途”为 Rails 页面内的文本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)