以下是我成功抓取的网页的结果:
问题是我只获得了数字!没有分离。我的目标是分离和排序它们。
这些数字中的每一个都意味着什么。但是我们先拿三个。 5553是玩家的等级,2591是玩家的等级,1287238956是玩家的经验值。
如何以这样的格式(如表格)显示此信息?
Skill Rank Level Experience
Overall 5553 2591 1287238956
这是我的PagesController:
class PagesController < ApplicationController
def home
require 'open-uri'
@username = "brink"
@url = "http://hiscore.runescape.com/index_lite.ws?player=#{@username}"
@doc = Nokogiri::HTML(open(@url))
end
def help
end
end
这是我的家庭观点:
<h1>Welcome to xpTrack</h1>
<%= @doc.text %>
我有什么选择?
我尝试过的以及我在做什么
split
方法,但显然只是这样
适用于数组吗?@doc
转换为字符串,并以某种方式将其分隔为空格。答案 0 :(得分:2)
如果您有大量数据,请不要上传截图...
给出一些示例数据:
data = "5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956"
您可以为数据创建一个interims类,例如
Player = Struct.new(:rank, :level, :experience)
并在视图中创建可供访问的玩家列表
@players = data.split(' ').map { |data| Player.new(*data.split(',')) }
答案 1 :(得分:1)
Enumerable#each_slice
这有助于您构建表。在你的情况下
来自另一个答案的数据
=> data = "5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956"
=> data.split(' ').each_slice(3) { |a| puts a }
=> 5553,2591,1287238956
5553,2591,1287238956
5553,2591,1287238956
5553,2591,1287238956