hkのweblogスマートフォン用の表示で見るhkのweblogひよっこエンジニアがにわとりになるまでの軌跡この広告は、90日以上更新していないブログに表示しています。データを収集し、これらの指標と株価にはどの程度の相関があるのか調べるために単回帰してみる、ということをやってみようと思っています。データをスクレイピングで集める」部分を書いてみます。私は統計の専門家ではないし、日常業務ではPythonを全く使っていません。変なところがあったらすいません。私は日本取引所グループのページから拝借しました。Excelの機能で業種や取扱市場を絞り込んで必要な証券コードを抽出、csvに貼り付けます。何だかんだ言ってもExcelって便利ですね。csvから証券コードを取得する先ほど取得したcsvをcode.csvとし、同じディレクトリ内でcollect_data.pyを作成します。reader]こんな感じでcode_listというリストに証券コードを格納することができます。openで書いていくとcloseし忘れる...といったことがないので便利ですね。Excelで作成したcsvファイルは文字コードがShift-JISになるみたいなので、encoding='sjis'を指定しています。htmlを取得するさて、スクレイピングを始めていきます。今回は日経新聞のサイトからデータを拝借しました。"html.parser")先ほど取得したcode_listから各証券コードを取り出し、URLを作ります。このURLからhtmlを取得、HTMLパーサーで読みます。条件)という形で条件に当てはまる最初のHTMLを取得できます。findの部分をfind_allにすると条件に当てはまる全てのHTMLをリストの形で取得できます。classやidで一つに絞れると非常にやりやすいのですが、必ずしもそうはなっていなかったりします。スクレイピングしやすいようにサイトを作る人なんていないですよね...そんな時は上記の従業員数の例のように絞ることもできます。正規表現を使ってデータを取っています。ちなみにcomma_patternにハイフンやら記号が含まれているのは、持株会社等で従業員数が書かれていない会社が散見されたからです。他にも様々な抽出手段があるようですが、詳しくはBeautifulSoupのドキュメントをご参照ください。使用しやすいようにデータを加工するここまででも必要なデータは揃いますが、この後回帰分析を行うことを考えて、数値データからカンマを取り除いておきます。所感いざやってみるとデータを集めづらいサイトが多いです...BeautifulSoupだけで完結せずに正規表現も使わざるを得ない場合も多そうです。いえ、これだけのコード量でデータを収集できてしまうのは素晴らしいなと思います。気が向いたら回帰分析についても書いてみようと思います。»プロフィールid:h2r4t都内で働く新米webエンジニアです。このブログは月2更新が目標。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事Bingの検索結果をcsvで出力するPythonスクリプトを書いたcanvasで画像ファイルを読み込むVue.jsでsetTimeoutする時の注意点rsyncについてのメモスレッドが競合した時のこと月別アーカイブはてなブログをはじめよう!h2r4tさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。