投稿一覧2018.06.08Pythonで証券会社からスクレイピング(例外を取り除く)前回のおさらい。前回までで、自動で証券会社にログインしてスクリーニングを行い、合致したものをpandasで取り込み整形することができました。証券会社のスクリーニング機能は無料で公開されているものよりもはるかに多くの設定が可能です。すべての要素を含んでいるわけではありません。そのため、会社の不祥事でニュースに取り上げられるなど、非定量的なデータに弱くなります。そこで、今回はスクリーニングにかかったとしても買いたくない銘柄をグーグルのスプレッドシートと連携して除外する方法を考えます。グーグルスプレッドシートで例外を登録まずは、スプレッドシートにもしスクリーニングにかかったとしても買いたくない銘柄を記入していきましょう。グーグルスプレッドシート(https://www.google.com/intl/ja_jp/sheets/about/)はエクセルと似た機能を持っており、オンラインで使用できることから、どこからでも容易にアクセスすることができます。シートに銘柄コードを打ち終わったらファイルの共有ボタンからリンクを発行し、リンクを知っている全員が閲覧可能な状態にします。python上のスクリーニング結果から除外まず、おなじみのpandasでグーグルスプレッドシートのスクレイピングを行います。link”にはさきほど取得したURLリンクを打ち込んでください。flavor='bs4')次に、不要な空白行を消去します。BadStock2.dropna(how='any')まず最初の行では列要素の空白行を削除しています。axis=1は列方向をhow=’all’はその列がすべて空白であった際に列を削除することを指定しています。二行目は空白を含む行すべてをhow=’any’で指定しています。この作業で除外したい銘柄コードを抽出できました。df2[~df2['number'].isin(BadStock5['A'])]銘柄コードは抽出できましたが、グーグルスプレッドシートからスクレイピングしたコードはなぜか小数になっています。そこで、整数に直します。その後文字列に変換して(なぜか分かっていないのですが、文字列にしないと最後のスクリーニング結果との比較ができませんでした。)、スクリーニング結果から、除外したいコードと一致するものを除くことで、スクリーニング設定に含められない判断を反映することができました。