class WebScrapper
Public Class Methods
scrapper()
click to toggle source
# File lib/web-scrapper-gems.rb, line 8 def self.scrapper alphabets_list = ('A'..'Z').to_a.unshift('NUMBER') alphabets_list.each do |alphabet| open_set_website = URI.open("https://www.set.or.th/set/commonslookup.do?language=th&country=TH&prefix=#{alphabet}") get_link = Nokogiri::HTML(open_set_website) get_href = get_link.css("td a") get_href.each do |each_href| h = each_href.attributes["href"].value.gsub("companyprofile", "companyhighlight") get_h = "https://www.set.or.th#{h}" open_each_href = URI.open(get_h) html = Nokogiri::HTML(open_each_href) name_company = html.css("h3").text begin td_list = [5, 4, 3, 2] list_assets_value = Array.new td_list.each do |i| assets_value = html.css("td[#{i}]").first.text list_assets_value.push(assets_value) end list_assets_value_2 = Array.new list_assets_value.each do |x| list_assets_value_2.push(x.gsub("\u00A0", '')) end empty_str = list_assets_value_2[0].gsub("\u00A0", '') if list_assets_value_2[0] != '' assets_value = list_assets_value_2[0] elsif list_assets_value_2[0] == nil assets_value = list_assets_value_2[1] else if empty_str == '' assets_value = "don't have assets value." end end if list_assets_value_2.all?('') assets_value = "don't have assets value." end rescue => exception assets_value = "don't have assets value." end puts "#{name_company} : #{assets_value}" end end end