サイトにログインした後にのみアクセスできる株式取引 Web サイトがあります。ログイン後、抽出しようとしている株価があります。その番号はすぐには入手できず、会社のデータベースから更新されるため、読み込みに時間がかかります。
数値を抽出してプログラムで使用できるようにするスクリプトを Ruby で作成しようとしています。
firebug では、タグは次のようになりますが、番号が読み込まれた後でのみです。
<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/stocks" ではなく、ログイン ページ "website.com" からのみ html を読み取ることです。 JavaScriptがロードされましたか?
私もWatirを試したので、問題#1を乗り越えることができましたが、次のようなことをしても問題#2は元のhtmlソースを提供するため、役に立ちません...
require 'net/http'
source = Net::HTTP.get("website.com/stocks", '/')
この問題を解決するための助けをいただければ幸いです。ありがとうございました!