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