このリポジトリのコードはPaizaとマイナビから受け取ったスカウトをスクレイピングし、その内容をGoogle Spread SheetのAPIを用いてスプレッドシートに書き込むプログラムです。
このコードはPython3を使って開発しました。 スクレイピングにはSelenium、HTMLの解析にはBeautifulSoupを使用しています。 また、スプレッドシートへの出力にはGoogle Sheets APIを利用しています。
このスクレイピングプログラムを使用するには、次の作業が必要です。
詳細な手順はそれぞれの項目を参照してください
作業が完了したら、次の手順に従ってプログラムを実行してください。
- 認証情報ファイルを「gspread_credentials.json」という名前で保存し、「private」フォルダと同じ階層に置きます。
- 「private」フォルダ内の「settings.json」の"spread_sheet_name"の項目をスプレッドシートのファイル名に、"work_sheet_name"の項目をシート名に書き換えます。
- 「private」フォルダ内の「settings.json」の"load_paiza"の項目をtrueにするとpaizaからスカウトを取得するようになります。同様に"load_mynavi"の項目をtrueにするとマイナビからスカウトを取得するようになります。
- main.pyを実行することで、スクレイピングとSpread Sheetsへの書き込み処理が自動的に実行されます。なお、初回実行時には、各サイトのログインに使用するメールアドレスとパスワードの入力が必要です。
処理が成功すると指定したスプレッドシートに以下のように情報が書き込まれます。
スプレッドシートAPIを使用できる状態にするために各種APIの有効化の方法を記します。
- Google Cloud Platformのページを開きます。
- 右上の「無料で利用開始」ボタンをクリックします。
- 左上のハンバーガーメニューから「APIとサービス/有効なAPIとサービス」を選択します。
- 中央上部の「APIとサービスの有効化」を選択します。
- Google Workspaceの欄からGoogle Drive APIとGoogle Sheets APIを選択し「管理ボタン」をクリックします
Google Cloud PlatformのGoogle Sheets APIの認証情報の取得方法を記します。
- Google Cloud Platformのページを開きます。
- 右上の「無料で利用開始」ボタンをクリックします。
- 左上のハンバーガーメニューから「APIとサービス/認証情報」を選択します。
- 中央の「認証情報を作成/サービスアカウント」を選択します。
- 適当にサービスアカウント名を記入し、「完了」をクリックします。
- 認証情報のページに追加されたサービスアカウントの項目をクリックし、メールの部分を選択します。
- タブからキーを選択し、「鍵を追加/新しい鍵を作成」をクリックします。
- ポップアップが表示されたら、キーのタイプをJSONにして「作成」をクリックします。これにより、認証ファイルが自動的にダウンロードされます。
APIがGoogle Spread Sheetを操作できるようにする設定方法を記します。
プログラムと同じ階層にあるprivateフォルダには、ログイン情報やAPI認証情報などの非公開情報が保存されます。 したがって、privateフォルダに保存されている情報は、外部に漏洩しないように、適切に保管することが必要です。
スクレイピングは、サーバーに負荷をかけることがあるため、実行回数には注意が必要です。 使用頻度は一日に数回程度の常識の範囲内に留め、スクレイピング先のサイトに対して迷惑がかからないようにしてください。