これじゃヤフーファイナンスからデータを取れない。 <株入門>

プログラムな話続いてますが、お付き合いください。

  
ヤフーファイナンスからデータ取得するプログラムが思ったように動作しない。
いや、動くことは動くのだが、なんかおかしい。
 
例えば、銘柄コード9984 ソフトバンクのデータが取れない。
ファイルを見てみると、ETFとREITのデータしか取れてない。
東証一部の個別株のデータは取れていない。

いろいろ原因を疑ってみた、
最初はプログラム上の不具合かとも思った、

小一時間ほどして、原因が分かった。
ヤフーファイナンスのページのHTMLのソースコードが変わっている。

現状のソフトバンクのページでは、それぞれ以下のように表示されている。
上場市場↓、
<span class="stockMainTabName">東証1部</span>
 
単元株数↓
<dd class="ymuiEditLink mar0"><strong>100</strong>株</dd>
<dt class="title">単元株数

 
一方、Rubyのプログラムでは、
StockListMakerクラスのparseメソッドにて、ページ内の文字列を検索している。
上場市場↓、
正規表現/yjSb">([^< ]+) ?</
 ⇒ yjsb">XXXX </
を見つける。

単元株数↓
正規表現%r!<dd class="ymuiEditLink mar0"><strong>((?:\d|,)+|—)</strong>株</dd>!
 ⇒ <dd class="ymuiEditLink mar0"><strong>999,999</strong>株</dd> 
を見つける。

正規表現の説明としては正確ではないのだが、大体の雰囲気はそういうこと、
で、
投信のページではこれでもヒットする。(ただし、上場市場は別の情報。)
個別株と投信では、それぞれのページの書式が違うから。

恐らく、このソースコードが書かれたときと、個別株のページのデザインが変わっているのだろう。

方針としては、検証まで到達出来るのなら、先に進みます。
原理さえ分かれば、実用に耐えるものに改良するのは後でもいい。

ですが、先行きが不明なので、
個別株のデータを取るように、プログラムの改修もトライして見ようと思います。
 
 
 
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。

  
 

社会・経済ニュース ブログランキングへ

にほんブログ村 海外生活ブログへ
にほんブログ村 
 

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*