2023年04月08日
Yahooの出来高ページクローニングプログラム製造 [プログラム研究室]
こんにちは!
ナビゲータのEVEです。
プログラムを作るうえで心配な点がなくなったので、本日から本格的なプログラミングに入っています。まずは、Yahooのページをまじまじと見ています。
[Yahooのページソース]
Yahooのページを久しぶりにまじまじと見ました。私のページと違っていろいろなタグが入っているので見にくい印象です。
Yahooのサイトが他の多くのサイトと違うのは、動的に作成した部分が、明らかにプログラムで作りましたと分かるところ!それは、改行処理が入っておらずベタ打ちです。実は、私のサイトも同じようにつくっています。
他のサイトはというと、人間がHTMLを作っているかのように整形しています。この情報は、すべてのサイトを見ているわけではないので、正確性が欠いている点についてはご承知ください。
多くのブラウザは、HTMLの一部が欠損していても忖度して、きれいに表示してくれるため、HTMLがおかしくなっていたとしても、気づきにくいです。そのため、きれいに整形しておいたほうが、そのミスに気づきやすいということがあるからかもしれません。ただ、それでも人間が作るプロラムであるため、必ずと言っていいほどミスがあります。だから、正直言ってそれは無駄な努力のような気がします。
その労力があるなら、もっと重要な所に力を入れたほうがいいというのが私の考え方です。
[クローニング処理概要]
以上は余談なのですが、改行処理が入っていないため、Yahooのサイトは、非常にクローニングしやすいというメリットがあります。
それは、私のほしい情報が1行におさまっているからです。その1行を読み込み、以下の流れで情報を抽出します。
当該テーブルを特定 => 当該行を特定 => 当該セルを特定 => データ抽出
株式市場には、4,000銘柄ぐらいの商品があり、1ページあたり約50銘柄掲載されているため、約90ページをダウンロードすればすべての銘柄を取得できそうです。
[クローニング項目]
クローニングする流れは、2023年4月6日のブログに記載した通りです。
❶Yahooの出来高から本日取引があった企業及び商品の一覧を取得します。
❷❶情報に基づき、本日取引があった企業の株価情報を取得します。
❶からは、
・商品名
・証券コード
・市場
だけでいいでしょう?出来高も取得することは可能ですが、処理の一貫性からして、しっくりしません。やはり、❷で実施するのが、いいでしょう!
なんてことを考えながら、プログラムを製造中です。
[あとがき]
明日からまたしばらく恒例の休暇に入ります。また、帰ってきたらブログを書きますので、よろしく!
では、また!!!