投稿

2/4 楽天クレカのダウンロード自動化

イメージ
 ■今日やったこと 楽天クレカのダウンロード自動化 Gドライブ内指定フォルダへのローカルファイルのアップロード osでファイル削除  ■楽天クレカのダウンロード自動化 つまづいたところ:classが複数あるときのfind_element_by_〜がうまくいかない CSVダウンロードをするボタンに使われているclass(複数)を指定してダウンロードしたいのだが、うまくいかない…。 csv_download = driver.find_element_by_css_selector(".stmt-c-btn-dl.stmt-csv-btn") →できない csv_download = driver.find_element_by_xpath("//*[@class='stmt-c-btn-dl stmt-csv-btn']") →できたけどしばらく経ったら使えなくなった。なぜ… それ以外は問題なし。  ■Gドライブ内指定フォルダへのローカルファイルのアップロード お決まりのやつ↓を書いたあと、CreateFileをするのだが、 from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive gauth = GoogleAuth() gauth.LocalWebserverAuth() drive= GoogleDrive(gauth) このあとただCreateFileを実行するだけだと、 ・「マイドライブ」直下(直下?という表現でいいのかな)に格納されてしまう ・ファイル名はファイルパスがそのまま適用されてしまう というかんじで管理上よくないので、 f = drive.CreateFile({'title': "任意のファイル名.csv",                                     'parents': [{"id" : 格納したいGフォルダのID}]})  こんなかんじでファイル名と格納先のフォルダID(=URL末尾の文字列)を指定する。 その上で、 f.SetContentFile(ローカルファイルのパス) とすると、ファイル名

2/3 Google Driveを操作するための準備 ほか(pydrive ,Google Drive API)

イメージ
■今日やったこと Google Drive APIをJupyter Notebookで使えるようにする Google Colaboratoryで今まで作ったコードを実行してみる(今更) ターミナルからPythonを実行する方法を知る(超今更) Google Driveを操作するまでには至らなかった。 調べてもわからないことだらけで手探りで進めたため、すごい時間がかかった…。 ■環境 mac 10.13.6 Python 3.8.5 conda 4.9.2 PyDrive 1.3.1 (今回インストールした) google-api-python-client(認証後にDLで大丈夫だった) ■Google Drive APIをJupyter Notebookで使えるようにする PythonでGドライブを操作するにはまず、Google Drive APIというのを使えるようにしなければならない。 さらにGoogleはセキュリティが厳しいので、 使用の許可をJupyter Notebookに与えるための手続きが色々と大変だった(OAuth オーオース 認証)。 一度許可を出して使えるようになれば(認証されれば)同じ手続きをしなくても使えるらしいけど、 一応使えるようになるでの流れをメモ。 0. pydriveのインストール pydriveをターミナルからインストール conda install -c conda-forge pydrive 1.Google Developer Consoleでプロジェクトを新規作成 Google Developer Consoleに初めてアクセスした。 初めてなので「プロジェクトの新規作成」からスタート。 2.認証情報を作成 認証情報を作成>OAuth クライアント ID アプリケーションの種類は「デスクトップ アプリ」を選択し、作成 ここで作成されたクライアント IDとクライアント シークレットは後で使うのでメモる。 (あとで他の画面から確認することもできる) つまづいたところ:アプリケーションの種類 区別がよくわからないのだが「ウェブ アプリケーション」だと最終的にうまくいかなかった…なぜ? つまづいたところ:公開ステータス 公開ステータスが「テスト」になっていたので、後の認証画面でエラーが出てしまった。 当たり前だけど「本番環境」にし