前几天我刚开始使用 ruby on rails,我在徘徊是否可以使用 puts 函数从外部页面上的页面获取 div 的内容。
就像是puts "http://www.example.com #about"
像这样的工作吗?或者您是否必须获取整个页面然后放置您想要的那个部分?
另外,如果“example.com”#about div 上的内容不断变化,则会不断更新其输出,还是只会在每次刷新页面时运行脚本?
前几天我刚开始使用 ruby on rails,我在徘徊是否可以使用 puts 函数从外部页面上的页面获取 div 的内容。
就像是puts "http://www.example.com #about"
像这样的工作吗?或者您是否必须获取整个页面然后放置您想要的那个部分?
另外,如果“example.com”#about div 上的内容不断变化,则会不断更新其输出,还是只会在每次刷新页面时运行脚本?
库open-uri
(用于获取页面)和Nokogiri gem(用于解析和检索特定内容)可以帮助解决此问题。
require 'open-uri'
require 'nokogiri'
doc = Nokogiri::HTML(open('http://www.example.com/'))
puts doc.at('#about').text
puts
不会那样工作。不过,Ruby 使解析 HTML 变得相当容易。看看Nokogirl库,您可以使用 xpath 查询来获取要打印的 div。我相信如果 div 发生更改,您将需要重新打开文件,但我对此并不肯定 - 您可以轻松测试它(或者这里的某人可以确认或拒绝该声明)。