Ruby web scraper与浏览器结果不同



我创建了一个简单的ruby web scraper来从网站获取值,但结果与浏览器中显示的不同。

网址:https://www.lme.com/Metals/Non-ferrous/Aluminium#tabIndex=0我正在尝试从第一张表中获取3个月(BID(US$/TONNE(的值。

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

我能够使用mechanize使其工作:

# 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(/</?[^>]*>/, "")

最新更新