class AtpScraper::Ranking
Scrape ranking data
Public Class Methods
new(html, html_charset = 'utf-8')
click to toggle source
# File lib/atp_scraper/ranking.rb, line 12 def initialize(html, html_charset = 'utf-8') @ranking_doc = AtpScraper::Html.parse(html, html_charset) end
Public Instance Methods
pickup_ranking_data()
click to toggle source
# File lib/atp_scraper/ranking.rb, line 16 def pickup_ranking_data result = [] search_player_doc.each do |player_doc| result.push(pickup_player_data(player_doc)) end result end
Private Instance Methods
get_url_id(url)
click to toggle source
“/en/players/rafael-nadal/n409/overview” => “n409”
# File lib/atp_scraper/ranking.rb, line 65 def get_url_id(url) url.split("/")[4] end
get_url_name(url)
click to toggle source
“/en/players/rafael-nadal/n409/overview” => “rafael-nadal”
# File lib/atp_scraper/ranking.rb, line 60 def get_url_name(url) url.split("/")[3] end
pickup_player_country(player_doc)
click to toggle source
# File lib/atp_scraper/ranking.rb, line 69 def pickup_player_country(player_doc) player_doc.css(".country-item img").attr("alt").value end
pickup_player_data(player_doc)
click to toggle source
# File lib/atp_scraper/ranking.rb, line 30 def pickup_player_data(player_doc) url = pickup_player_url(player_doc) { ranking: pickup_player_rank(player_doc), player_name: pickup_player_name(player_doc), player_url_name: get_url_name(url), player_id: get_url_id(url), country: pickup_player_country(player_doc), points: pickup_player_points(player_doc) } end
pickup_player_name(player_doc)
click to toggle source
# File lib/atp_scraper/ranking.rb, line 46 def pickup_player_name(player_doc) player_doc.css(".player-cell").first.content.strip end
pickup_player_points(player_doc)
click to toggle source
points: '5,000'(in html) => '5000'
# File lib/atp_scraper/ranking.rb, line 55 def pickup_player_points(player_doc) player_doc.css(".points-cell").first.content.strip.delete(',') end
pickup_player_rank(player_doc)
click to toggle source
# File lib/atp_scraper/ranking.rb, line 42 def pickup_player_rank(player_doc) player_doc.css(".rank-cell").first.content.strip end
pickup_player_url(player_doc)
click to toggle source
# File lib/atp_scraper/ranking.rb, line 50 def pickup_player_url(player_doc) player_doc.css(".player-cell a").attr("href").value end
search_player_doc()
click to toggle source
# File lib/atp_scraper/ranking.rb, line 26 def search_player_doc @ranking_doc.css(".mega-table tbody tr") end