当前位置: 首页 > 工具软件 > Nokogiri > 使用案例 >

Nokogiri作用

林项明
2023-12-01

最近在写 RUBY,遇到了Nokogiri 这个东西,乍一看,不知道是什么?作用是啥?搜索了很多文档,终于搞明白了。


Nokogiri 也就是我们所说的一种解析器,可以解析HTML/XML,获取目标data,解析后,返回结果


1.从字符串读取


1 html_doc = Nokogiri::HTML("<html><body><h1>Mr. Belvedere Fan Club</h1></body></html>")
2 xml_doc  = Nokogiri::XML("<root><aliens><alien><name>Alf</name></alien></aliens></root>")

变量 html_doc 与 xml_doc 是Nokogiri 对象1, 具有各种属性与方法,自己查


2.从文件读取


无需读取文件到字符串. Nokogiri会进行这项工作.

1 doc = File.open("blossom.xml") { |f| Nokogiri::XML(f) }

3.从网络读取


1 require 'open-uri'
2 doc = Nokogiri::HTML(open("http://www.threescompany.com/")) 

解析选项


Nokogiri提供了一些影响解析方式的选项. 以下是最常用的选项:

  • NOBLANKS - Remove blank nodes
  • NOENT - Substitute entities
  • NOERROR - Suppress error reports
  • STRICT - Strict parsing; raise an error when parsing malformed documents
  • NONET - Prevent any network connections during parsing. Recommended for parsing untrusted documents.


用法:

1 doc = Nokogiri::XML(File.open("blossom.xml")) do |config|
2   config.strict.nonet
3 end

1 doc = Nokogiri::XML(File.open("blossom.xml")) do |config|
2   config.options = Nokogiri::XML::ParseOptions::STRICT | Nokogiri::XML::ParseOptions::NONET
3 end 

 类似资料: