我有一个股票交易网站,只有在登录该网站后才能访问。登录后,我正在尝试提取一个股票价值。该号码并不容易获得,并且需要一段时间才能加载,因为它正在从公司的数据库中更新。
我正在尝试用 Ruby 编写一个脚本,它可以让我提取数字然后在我的程序中使用它。
在萤火虫中,标签看起来像这样,但只有在数字加载后:
<span id="ContentPlaceHolderTodaysStock">10,747</span>
我探索了诸如 hpricot 和 nokogiri 之类的库,并尝试了类似于以下的代码:
require "nokogiri"
require "open-uri"
doc = Nokogiri::HTML(open("website.com/stocks"))
puts doc.xpath("//span/text()")
我遇到的问题是 1)它只从登录页面“website.com”而不是“website.com/stocks”读取 html 2)一旦我通过登录,我如何使用 html 代码之后javascript已加载?
我也尝试过 Watir,这样可以让我解决问题 #1,但随后执行以下操作对问题 #2 没有帮助,因为它提供了原始的 html 源...
require 'net/http'
source = Net::HTTP.get("website.com/stocks", '/')
任何解决此问题的帮助将不胜感激。谢谢!