我创建了一个简单的ruby Web抓取工具,以从网站获取价值,但是结果与浏览器中显示的结果不同。
网站:https://www.lme.com/Metals/Non-ferrous/Aluminium#tabIndex=0我正试图从第一个表中获得3个月(BID(美元/吨)的价格)。
lme_url = "https://www.lme.com/en-GB/Metals/Non-ferrous/Aluminium#tabIndex=0"
lme_unparsed = HTTParty.get(lme_url)
lme_parsed = Nokogiri::HTML(lme_unparsed)
@lme = Array.new
lme_table = lme_parsed.css('.tabContent').css('.table-wrapper')
lme_table = lme_table.css('tbody tr')
lme_table.each do |list|
l = list.css('td').map(&:content)[1]
@lme << l
end
答案 0 :(得分:0)
我可以使用机械化使它工作:
# Scrapping LME Website
lme_agent = Mechanize.new
lme_page = lme_agent.get('https://www.lme.com')
aluminum = lme_agent.page.links_with(:text => 'LME Aluminium')[1].click
lme = aluminum.xpath('/html/body/div/div[2]/div[2]/div[2]/div[1]/div[2]/section[1]/div/div[2]/div/div[2]/table/tbody/tr[2]/td[2]')
@lme = lme.to_s.gsub(/<\/?[^>]*>/, "")