2013-12-22 53 views
0

這裏是我成功爬取的頁面的結果:對抓取的信息進行排序?

result 問題是我只給了數字!沒有分離。我的目標是對它們進行分類和排序。

每個這些數字意味着什麼。但讓我們拿前三名。 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 %> 

我有哪些選擇?

我試圖和我做什麼

  1. 我特地到split方法,但顯然只有 作品陣列?
  2. 我也注意到,我需要做的每一個分隔點之間都有一個空格 。現在猜猜這只是一個能夠致電其中一個單位的問題。
  3. 當前正試圖將@doc轉換爲一個字符串,並以某種方式將其拆分爲空格。
  4. ^^^那麼肯定沒有奏效。
+0

區分
數據或許這在某種程度上可以幫助您? http://railscasts.com/episodes/396-importing-csv-and-excel –

回答

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 
2

如果你有一組數據,不上傳截圖...

鑑於一些示例數據:

data = "5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956 5553,2591,1287238956" 

你也可以爲數據創建一個臨時經理類

Player = Struct.new(:rank, :level, :experience) 

而在你的視圖中創建的那些球員名單訪問

@players = data.split(' ').map { |data| Player.new(*data.split(',')) } 
相關問題