Nokogiri作用

最近在写 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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值