0

前几天我刚开始使用 ruby​​ on rails,我在徘徊是否可以使用 puts 函数从外部页面上的页面获取 div 的内容。

就像是puts "http://www.example.com #about"

像这样的工作吗?或者您是否必须获取整个页面然后放置您想要的那个部分?

另外,如果“example.com”#about div 上的内容不断变化,则会不断更新其输出,还是只会在每次刷新页面时运行脚本?

4

2 回答 2

1

open-uri(用于获取页面)和Nokogiri gem(用于解析和检索特定内容)可以帮助解决此问题。

require 'open-uri'
require 'nokogiri'

doc = Nokogiri::HTML(open('http://www.example.com/'))

puts doc.at('#about').text
于 2012-10-15T00:06:24.973 回答
1

puts不会那样工作。不过,Ruby 使解析 HTML 变得相当容易。看看Nokogirl库,您可以使用 xpath 查询来获取要打印的 div。我相信如果 div 发生更改,您将需要重新打开文件,但我对此并不肯定 - 您可以轻松测试它(或者这里的某人可以确认或拒绝该声明)。

于 2012-10-15T00:08:06.317 回答