【问题标题】:How To Extract Data Attributes in HTML using Rails Nokogiri gem?如何使用 Rails Nokogiri gem 提取 HTML 中的数据属性?
【发布时间】:2017-12-21 08:44:35
【问题描述】:

我想从 HTML 中提取数据。 我只需要提取数据属性的值 不是整个 div 或文本的内容

示例:

<div class="c-rating-stars  c-product-card__rating-stars " data-value="3.333333">

我只需要提取3.333333

这是我的代码

require 'rails'
require 'mechanize'
require 'nokogiri'
require 'open-uri'
require 'csv'

page = Nokogiri::HTML(open("www.url.com"))

page.css('[data-value]').each do |item|
   puts item
end

但是我的代码提取了 div 中的所有内容

【问题讨论】:

    标签: html ruby-on-rails ruby nokogiri


    【解决方案1】:

    试试这个:

    doc = Nokogiri::HTML(open("[insert URL here]"))
    dataVvalue = doc.css('div.c-rating-stars')[0]["data-value"]
    

    【讨论】:

    • 如果需要提取一个数据,但是有数百个数据,这将起作用
      很快
    • 请解释为什么这个答案可能适用于已测试的内容,@RuelNopal 请使用反引号(1 键的左侧)将代码块放入 cmets。
    • @Martin,您如何发现其他用户的键盘布局?听起来它可能是一个有用的功能,但我从来没有意识到你可以做到这一点!
    • @TobySpeight 我很确定大多数键盘布局的反引号都在同一个位置,尤其是如果它们有数字 1 键...
    • 该页面有多个 div 具有不同的 data-value 值```
      ``` 一些 div 作为数据根本没有价值是基于产品的评级,所以dataVvalue = doc.css('div.c-rating-stars')[0]["data-value"] 如果你想获得一个数据值可能会起作用,但对于多个数据它不起作用。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签