「株とPython-自作プログラムでお金儲けを目指す」を読む

2.4 四本値(日足)と出来高の取得

P22のPyQueryを使ったスクレイピングを応用して「株探」のページから開始値、高値、安値、終値出来高 を取得しSQLiteのデータベースに保存した結果。

f:id:bitop:20190420141159p:plain

「株とPython-自作プログラムでお金儲けを目指す」を読む

2.3.3 ブラウザを操作して取り出す方法 - selenium

Firefoxで行ってみたがエラーがでるのでChromeで操作
まず使用しているブラウザのバージョンを確認
f:id:bitop:20190413164732p:plain
version 73なので
sites.google.com にいって該当するバージョンをDownLoadしてくる。
DownLoadしたzipファイルを解凍してchromedriver.exeをパスの通るところに置いておく。

本のページ25のコードを実行すると
100と表示した。
f:id:bitop:20190413164431p:plain
f:id:bitop:20190413165933p:plain
単元株数の値を抜き取っている。

「株とPython-自作プログラムでお金儲けを目指す」を読む

はじめに
 省略
1章 株取引の基礎知識
 省略
2章 データ収集と管理
 2.3 銘柄情報の取得
  PyQueryのinstall (PyQueryは「Pythonクローリング&スクレイピング」本にも紹介されていた
  ライブラリでjQueryと同じような使い方でHTMLからスクレイピングのできるライブラリです。
  22ページのソースを入力・実行するとエラーがでて予想どおりの結果とならなかった。
  そこで株探のトヨタ自動車のページに行き、ホームページ上で右クリックで「検証」メニューを
  選択し、Chrome Developer Toolsを表示させ、Ellementsタグの上部にある「Select an elementin the page to inspect」
  アイコンを押しておき、次にページ内の「輸送用機器」文字をクリックするとそれに対応するHTML要素が「検証」ページ
  内で反転表示されどの要素をスクレイピングしたらよいかわかる。
  該当するHTMLの要素を選択させたまま右クリックでメニューを出し Copy>Copy Selectorを実行し
  「株とPython-自作プログラムでお金儲けを目指す」の22ページにあるソースコードを変更する
  sector = q.find('table.kobetsu_data_table2 a')[0].text
  上記table.kobetsu_data_table2 aを削除して、そこに先ほどのコピーをペーストする
  sector = q.find('#kobetsu_right > div.company_block > table > tbody > tr:nth-child(4) > td')[0].text
  これを実行すると「輸送用機器」が表示された。
  (あとで気がついたが著者のGitページに修正例が載っていた)

f:id:bitop:20190408184439p:plain

 2.3.4 全銘柄をSQLiteに格納する
  http://sqlitebrowser.org/
  にいってDownLoadページに移動してWindows版(64bit)をDownLoadする
  f:id:bitop:20190409050919p:plain
  installが終わったらDB Browser for SQLiteを起動する。ツールバー
  NewDataBaseボタンがある。
  f:id:bitop:20190409051616p:plain
  ボタンを押すとファイル名を入力するダイヤログが出てくるのでデータベース名
  を入力すると「Edit table definition」ダイヤログがでてくるのでテーブル名、フィールド名
  を入力してテーブルを作成する
  f:id:bitop:20190409052023p:plain

  f:id:bitop:20190409052243p:plain

  26ページに該当する著者のGitのソースをjupyter notebook上で実行
  insert_brands_to_db('brands.db',range(1301,1320)) #'brands.db'は作成したデータベース名
  できたデータベースをDB Browser for SQLiteで確認すると10レコード取得できていた。
f:id:bitop:20190409060054p:plain

  

github.com